我知道 Java 中静态嵌套类和内部类之间的区别。我说的是内部阶级。我也知道我们可以使用“OuterClass.this”从内部类中获取外部类。
与目录一样,有两种导航方式:绝对导航和相对导航。例如:“/aaa/bbb/ccc/ddd”,如果我在文件夹“ccc”中并想引用“bbb”,我们可以:“cd /aaa/bbb”或“cd ..”。
现在谈到 Java 内部类。
class AAA{
BBB b = new BBB();
class BBB{
CCC c = new CCC();
//CCC c = new CCC(b);
class CCC{
//SECOND VERSION
//BBB parent = null
//CCC(BBB parent_){
// parent = parent_;
//}
DDD d = new DDD();
BBB GetParent(){
return AAA.this.b; //I know this will work
//or return parent; if using the SECOND VERSION
}
class DDD{
}
}
}
}
我提供了两个版本:AAA.this.b 并引入了一个成员变量“parent”,分配了来自构造函数参数的值。
我的问题: 如果我不引入成员变量,我可以使用相对方式从内部类获取其直接父级吗?(如 cd ..)