接口中的属性

你可以在接口中声明属性。由于接口不能具有状态,因此你只能将属性声明为抽象或通过为访问器提供默认实现。

interface MyInterface {
    val property: Int // abstract

    val propertyWithImplementation: String
        get() = "foo"

    fun foo() {
        print(property)
    }
}

class Child : MyInterface {
    override val property: Int = 29
}