public class OuterClass implements Interface1 {
public class InnerClass implements Interface2 {
public void method() {
System.out.println("hello");
}
}
}
public class OuterClass implements Interface1 {
public static class InnerClass implements Interface2 {
public void method() {
System.out.println("hello");
}
public static void staticMethod() {
System.out.println("static");
}
}
}
// call static method without any instance
OuterClass.InnerClass.staticMethod();
// create instance of inner class without instance of outer class
OuterClass.InnerClass inner = new OuterClass.InnerClass();
inner.method(); // call method of inner class
// output: static
hello
1条答案
按热度按时间drnojrws1#
在中定义方法时
InnerClass
,您需要具有的示例InnerClass
对其调用(非静态)方法。因此,我们在您的示例中添加了一个简单的方法。。。... 创建的示例
InnerClass
并按如下方式调用该方法:由于内部类不是静态的,因此需要
OuterClass
创建的示例InnerClass
您可以在其上调用您的方法。如果将内部类设置为静态,也可以在中定义静态方法
InnerClass
:在这个场景中,您不需要
OuterClass
构造示例InnerClass
因为它是静态可用的,并且不绑定到示例。此外,您可以调用内部类的静态方法,而无需InnerClass
: