在 Kotlin 中,interface 是一种定义行为和契约的方式。接口中可以定义以下内容:
1. 抽象方法
- 接口中可以声明没有实现的方法(默认是抽象的)
- 实现该接口的类必须提供这些方法的具体实现
interface MyInterface {
fun abstractMethod() // 抽象方法
}
2. 默认方法实现
- Kotlin 允许在接口中为方法提供默认实现
- 实现类可以选择性地覆盖这些方法
interface MyInterface {
fun defaultMethod() {
println("默认实现")
}
}
3. 属性声明
- 接口中可以声明抽象属性(没有幕后字段)
- 实现类必须覆盖这些属性并提供具体实现
interface MyInterface {
val property: String // 抽象属性
val defaultProperty: String
get() = "默认值" // 提供默认getter实现
}
4. 嵌套接口和类
- 可以在接口中定义嵌套的接口或类
5. 伴生对象
- 接口中可以包含伴生对象(companion object)
interface MyInterface {
companion object {
const val CONSTANT = "常量"
}
}
6. 多继承
- 类可以实现多个接口,实现多重继承的效果
接口不能包含状态(不能有非抽象的属性 backing field),主要用于定义契约和提供默认行为。