尝试在父类中创建 1 个接口(interface)和 2 个具体类。这将使封闭类成为内部类。
public class Test2 {
interface A{
public void call();
}
class B implements A{
public void call(){
System.out.println("inside class B");
}
}
class C extends B implements A{
public void call(){
super.call();
}
}
public static void main(String[] args) {
A a = new C();
a.call();
}
}
现在我不太确定如何在静态 main() 方法中创建类 C 的对象并调用类 C 的 call() 方法。
现在我遇到了问题:A a = new C();
最佳答案
这里的内部类不是静态的,所以需要创建一个外部类的实例,然后调用new,
A a = new Test2().new C();
但在这种情况下,你可以将内部类设为静态,
static class C extends B implements A
然后就可以使用了,
A a = new C()
关于java - 如何从静态 main() 方法调用内部类的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16954599/