如果类C嵌套在类B中,而类B又嵌套在类A中,我该如何实例化类C?
class A {
class B {
class C {
..............
}
}
}
C
,您需要一个封闭的B
实例,而这个B
实例又需要一个封闭的A
实例。A someA = new A();
B someB = a.new B();
C someC = b.new C();
像这样应该可以做到
A.B.C c = new A().new B().new C();
如果您想要,可以连接新的()行。
您可以像这样实例化。
A a = new A();
A.B b = a.new B();
A.B.C c = b.new C();
这个有效。
public class InnerClassTest1 {
public static void main(String[] args) {
A a = new A();
A.B b = a.new B();
A.B.C c = b.new C();
c.setValue(100);
System.out.println("Innermost value " + c.getValue());
}
}
class A {
class B {
class C {
int value;
public int getValue() {
return value;
}
public void setValue(int value) {
this.value = value;
}
}
}
}
class C
不引用class B
或class A
的方法和/或字段,则可以将内部类设置为静态。class A {
static class B {
static class C {
...
}
}
}
然后您可以从任何地方创建它们:
A.B.C c = new A.B.C ();