和 Java 的接口相差不大, 有两个区别:
- 接口中可以有方法的实现。
- Java 接口中的属性是常量, Kotlin 是可以被覆盖的属性。
interface Base {
val x = 10
fun foo()
fun v() {
// do something
}
}
class Hello: Base {
override val x = 12
override foo() {...}
override v() {
super.v()
...
}
}
参考
《Programming Kotlin》Stephen Samuel ,Stefan Bocutiu
《Kotlin in Action》Dmitry Jemerov,Svetlana Isakova