Kotlin:在不可见类中声明的静态嵌套Java类的可见性
使用Java我的静态嵌套的Java类是可见的,但使用Kotlin它不是。 看我下面的例子。 有没有一个很好的理由,它是不允许的,或者是一个错误? 是否有任何解决方法,以便我可以从Kotlin扩展NestedStaticClass
?
我有一个包私有的java类包含静态嵌套类
package javapackage; class HiddenClass { public static class NestedStaticClass {} }
HiddenClass
由公共类扩展。
package javapackage; public class VisibleClass extends HiddenClass{}
从我的java类扩展VisibleClass
,我可以看到NestedStaticClass
(它编译)
package otherpackage; import javapackage.VisibleClass; public class JavaClass extends VisibleClass { public static class C4 extends NestedStaticClass {} public JavaClass() { new NestedStaticClass(); } }
但是从Kotlin这不起作用。 我得到编译错误:“未解析的引用NestedStaticClass”
package otherpackage import javapackage.VisibleClass class KotlinClass() : VisibleClass() { class C1() : NestedStaticClass() init { val v = NestedStaticClass() } }
- 在Kotlin中的功能循环中,如何做“休息”或“继续”?
- 为什么Lambda表达式对于Kotlin和Java类表现不同?
- IntelliJ不排序Kotlin进口
- 在Kotlin-js中设计HTML元素
- Intellij IDEA中Kotlin项目的自动完成和代码分析非常慢
- Python中的PIP风格的本地Java包管理系统?
- Corda:error = org.hibernate.InstantiationException:没有实体的默认构造函数
- Kotlin的enum类的value属性中的@JsonValue注释
- 错误':android:transformKotlinClassesWithJillForDebug'。 构建用Kotlin + LibGDX编写的Android应用程序时