kotlin 中 interface

31 阅读1分钟

在 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),主要用于定义契约和提供默认行为。