定义接口
interface InterfaceDemo7 {
}
class demo7 : InterfaceDemo7 {
}
class demo : InterfaceDemo71, InterfaceDemo72 {
}
接口中定义属性
interface InterfaceDemo7 {
val name: String
var gender:String
}
- 类实现接口的属性:接口中的属性只能是抽象的,不允许初始化值,接口不会保存属性值,实现接口时,必须重写属性
class demo7 : InterfaceDemo7 {
override val name: String = "SiberiaDante"
override var gender: String = "男"
}
接口中定义方法
interface InterfaceDemo7 {
fun voidOne()//定义一个方法,子类必须要实现该方法
fun voidTwo() {//定义一个方法,并实现;子类可以不实现该方法
print("接口已经实现了这个方法")
}
}
class demo7 : InterfaceDemo7 {
override fun voidOne() {//实现接口中未实现的方法子类必须要实现
}
// override fun voidTwo() {//接口中实现的方法,子类可以不实现
// super.voidTwo()
// }
}
- 类实现多个接口,且接口有一个共同的方法,需要指明类如何实现它们:使用super.<接口名>.方法名指定使用哪个方法
interface InterfaceDemo71 {
fun showName()
fun showAge() {
print(18)
}
}
interface InterfaceDemo72 {
fun showName() {
print("SiberiaDante")
}
fun showAge() {
print(18)
}
}
class demo : InterfaceDemo71, InterfaceDemo72 {
override fun showName() {
}
override fun showAge() {//两个接口都有showAge()方法
super<InterfaceDemo71>.showAge()//使用super.<接口名>.方法名指定使用哪个方法
super<InterfaceDemo72>.showAge()
}
}