Kotlin 接口
在 Kotlin 中,接口(interface)定义了一组规范,这些规范包括可以在类中实现的抽象方法以及可能的一些具体实现。与 Java 中的接口类似,Kotlin 的接口可以包含抽象属性和函数,但 Kotlin 接口还可以包含函数的实现。
以下是 Kotlin 接口的一些关键点和一个示例:
关键点:
定义接口: 使用
interface
关键字定义接口。抽象方法: 接口中的方法默认是抽象的,无需使用
abstract
关键字。方法实现: 接口可以提供方法的默认实现。
属性: 接口可以声明属性,属性可以是抽象的,或者提供默认的实现。
多重继承: 一个类或另一个接口可以实现多个接口。
可见性修饰符: 接口默认是
public
的,但可以声明为private
或protected
。
示例:
// 定义接口
interface MyInterface {
// 抽象属性
val myProperty: String
// 抽象方法
fun bar()
// 带默认实现的方法
fun foo() {
println("foo() in MyInterface")
}
}
// 实现接口的类
class MyClass : MyInterface {
override val myProperty: String = "Hello"
override fun bar() {
println("bar() in MyClass")
}
}
fun main() {
val myObject = MyClass()
myObject.foo() // 输出: foo() in MyInterface
myObject.bar() // 输出: bar() in MyClass
println(myObject.myProperty) // 输出: Hello
}
在这个例子中,MyInterface
定义了一个抽象属性 myProperty
和一个抽象方法 bar()
。同时,接口中实现了一个具体方法 foo()
。 MyClass
实现了这个接口,并提供了必要的方法和属性实现。
通过 Kotlin 的接口,你可以创建更灵活的结构并且可以为类提供多重继承的能力。