嵌套的Interafce在java中

时间:2017-02-25 11:57:57

标签: java

这是我的java代码:

class A {
    interface That {
        void show();
    }
}

class B implements A.That {
    public void show() {
        System.out.println("Hi");
    }
}

public class MainClass {
    public static void main(String args[]) {
        A obj = new A();
        obj.That object = new B();
        object.show();
    }
}

由于A是一个类(不是抽象),我们可以创建它的实例,而不是我们可以使用该实例的成员。现在接口是成员,因此obj.That应该可以工作,但javac说obj.That不是包。为什么呢?

1 个答案:

答案 0 :(得分:3)

嵌套在类中时,接口始终是静态的。因此,您应该以{{1​​}}访问您的界面声明,而不是A.That