这是我的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
不是包。为什么呢?
答案 0 :(得分:3)
嵌套在类中时,接口始终是静态的。因此,您应该以{{1}}访问您的界面声明,而不是A.That
。