Kotlin 的interface类中默认函数如何声明java类调用的时候可以不用Override
在 Kotlin 中,接口的默认函数是使用 default 关键字进行声明的。默认函数在接口中有一个默认的实现,因此可以在实现接口的类中选择性地进行重写。与 Java 不同,Kotlin 中没有 @Override 注解,因此在实现接口的类中不需要使用 override 关键字来重写默认函数。只需要按照普通的函数实现方式在类中实现接口的默认函数即可。以下是一个示例:
interface MyInterface {
fun myFunction() {
println("Default implementation")
}
}
class MyClass : MyInterface {
// 可选择性地重写接口的默认函数
override fun myFunction() {
println("Custom implementation")
}
}
fun main() {
val obj = MyClass()
obj.myFunction() // 输出 Custom implementation
}
在上述示例中,MyInterface 接口中的 myFunction() 函数具有默认实现,而 MyClass 类重写了该函数,因此在 main() 函数中调用 obj.myFunction() 输出的结果是 "Custom implementation"。如果 MyClass 类没有重写 myFunction() 函数,则输出的结果是 "Default implementation",即接口的默认实现
原文地址: https://www.cveoy.top/t/topic/i0Q4 著作权归作者所有。请勿转载和采集!