使用java我的静态嵌套java类是可见的,但使用Kotlin则不然。请参阅下面的示例。是否有一个很好的理由不被允许,或者它是一个错误?是否有任何解决方法以便我可以从Kotlin延长NestedStaticClass
?
我有一个包含静态嵌套类
的包私有java类package javapackage;
class HiddenClass {
public static class NestedStaticClass {}
}
HiddenClass
由公共类扩展。
package javapackage;
public class VisibleClass extends HiddenClass{}
从扩展VisibleClass
的java类中,我可以看到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()
}
}