先声明一个接口
interface TestInterface {
fun toAge()
fun toName()
}
在kotlin中继承和实现接口都是用":"冒号来实现 用"," 逗号分开
现在声明一个Student类 来实现一个上面定义的接口
class Study(name: String, age: Int) : Person(name, age), TestInterface {
override fun toAge() {
println("Study to toAge")
}
override fun toName() {
println("Study to toName")
}
}
main方法中调用
查看控制台
简单的接口就是这样了
现在给toName方法加上方法体
interface TestInterface {
fun toAge()
fun toName(){
println("output function body")
}
}
可以看到Study这里并没有报错
如果接口中的某个方法写上了函数体,在实现的地方这个方法就不是必须实现的,如上,
在接口TestInterface中 toName方法写上了方法体,在下面Study类实现Testnterface接口中,toName方法不是必须要实现的,当然也可以实现上面的方法
kotlin中的修饰符
在java中默认的修饰符使用的是default kotlin中默认的是public
kotlin中的修饰符与java中的一致 不过没有default(同一包下的类可见)
但是kotlin并没有default修饰符 使用的internal修饰符 模块下使用