在Kotlin中为接口编写默认方法时,IClass$DefaultImpls的java NoClassDefFoundError
我在Kotlin中有一个接口MyInterface
,其中一些方法有一个默认实现。另外,我还有另一个接口IClass
,它扩展了用Java编写的MyInterface
。最后,我有一个类MyClass
,它实现了用Kotlin编写的MyInteface
。现在,当我运行代码时,我得到了以下错误
java.lang.ClassNotFoundException: myPackage.IClass$DefaultImpls
我测试了Kotlin 1.2.51和1.3.0
当我用Kotlin编写IClass时,一切都按预期进行。 我的第一个代码怎么了
# 1 楼答案
这是Kotlin编译器中的a bug。作为一种解决方法,请按照另一个答案中的建议使用
@JvmDefault
# 2 楼答案
您可能想在Kotlin中用JvmDefault注释您的方法。这是一个详细描述的新特性here