Kotlin 接口,在本指南中,我们将了解接口。与抽象类类似,无法实例化接口,因为它没有任何构造函数。
注意事项:
- 接口可以同时具有抽象和非抽象函数。
- 接口只能有抽象属性(数据成员),不允许非抽象属性。
- 一个类可以实现多个接口。
- 接口的所有抽象属性和抽象成员函数必须在实现它的类中重写。
Kotlin 接口示例
在下面的例子中,我们有一个接口MyInterface
,它包含一个非抽象方法func
和抽象属性str
和抽象函数demo
。
输出:
Kotlin – 实现多个接口
在以下示例中,我们有两个接口X
和Y
。类MyClass
实现了接口X
和Y
。该类为接口X
和Y
的抽象方法提供了实现。
输出:
当多个接口具有相同的方法名称时
在下面的例子中,我们有两个接口X
和Y
,但这两个接口都具有相同的函数demo()
。类MyClass
实现了这两个接口,现在当我们尝试使用类的对象调用这个函数demo()
时,我们将得到编译错误,因为编译器混淆了调用哪个方法。
如何解决相同方法名称的冲突
为了解决上述冲突,我们覆盖了类中的方法,该方法之前导致了冲突。在覆盖方法中,我们使用super
关键字确切地指定了要调用的方法。在下面的例子中,我们想调用接口Y
的demo()
方法,因此我们在覆盖方法中指定了super<Y>.demo()
。
输出: