Kotlin 类、对象和接口:定义类继承结构
Kotlin 中的接口
在 Kotlin 中,接口用于定义行为规范。下图展示了声明一个拥有名为 click 的单抽象方法的接口,所有实现该接口的非抽象类都要提供这一方法的实现。
interface Clickable {
fun click()
}
Kotlin 使用冒号 : 代替了 Java 中的 extends 和 implements 关键字。和 Java 一样,一个类可实现多个接口但只能继承一个类。
class Button : Clickable {
override fun click() {
println("I was clicked")
}
}
Override 修饰符与默认实现
在 Kotlin 中使用 override 修饰符是强制要求的,这会避免先写出实现方法后添加抽象方法造成的意外重写。
接口的方法可以有一个默认实现。在 Java 8 中需要你在这样的实现上标注 default 关键字,而 Kotlin 没有特殊的注解,只需要提供一个方法体。
interface Clickable {
fun click() // 抽象方法
fun showOff() { // 默认实现
println("Clicking is cool")
}
}
现在再定义一个 Focusable 接口,其中同样实现了一个 showOff 方法:
interface Focusable {
fun focusOn() {}
fun {
println()
}
}


