Kotlin 接口方法冲突解决策略
在 Kotlin 中,当一个类继承自多个接口,且这些接口存在签名相同的方法时,便会出现方法冲突。为解决此问题,子类需要重写该方法,并明确指定调用哪个父接口的方法实现。
例如,假设类 D
同时继承了接口 B
和 C
,而这两个接口都定义了方法 x()
。此时,D
需要重写 x()
方法,并在方法体内使用 <接口名>.super.<方法名>()
的语法来指明调用哪个接口的 x()
方法。
interface B {
fun x(): Int = 1
}
interface C {
fun x(): Int = 0
}
class D : B, C {
override fun x(): Int {
return super.x() // 调用接口 B 的 x() 方法
}
}
在上述代码中,D
的 x()
方法调用了接口 B
的 x()
方法。开发者可以根据实际需求选择调用哪个接口的方法实现,从而解决方法冲突问题。
64.09KB
文件大小:
评论区