【发布时间】:2015-08-05 06:39:15
【问题描述】:
例如,如果 A 有内部类 B,B 有内部类 C,都有一个属性“name”,我知道 C 可以通过 B.this.name 访问 B 中的 name,但是如何从 A 中访问 name C?
public class A{
String name="A";
public class B{
String name="B";
public class C{
String name="C";
public C(){
//how to print name in A?
//System.out.println(B.A.name);
//System.out.println(B.A.this.name);
//System.out.println(B.this.A.name);
//System.out.println(B.this.A.this.name);
}
}
C c=new C();
}
B b=new B();
public static void main(String[] args){
new A();
}
}
试了很多语法都编译不出来,搜索java外部类的时候发现大部分都是关于外部类的,不是外部外部类的。
【问题讨论】:
-
你为什么要创造这么多复杂性?
-
如果您确实需要这些嵌套类,请将“A”传递给“B”构造函数,并将“B”传递给“C”构造函数
-
@DiSaSteR,这里没有继承。
super()将调用Object类的构造函数。
标签: java syntax inner-classes outer-classes