Kotlin:在不可见的类中声明的静态嵌套Java类的可见性

时间:2015-10-12 12:46:06

标签: kotlin

使用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()
    }
}

0 个答案:

没有答案