有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

在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时,一切都按预期进行。 我的第一个代码怎么了


共 (2) 个答案

  1. # 1 楼答案

    这是Kotlin编译器中的a bug。作为一种解决方法,请按照另一个答案中的建议使用@JvmDefault

  2. # 2 楼答案

    您可能想在Kotlin中用JvmDefault注释您的方法。这是一个详细描述的新特性here