Tôi đã tạo ra một lớp bên trong một lớp bên trong:Cách java thực hiện truy cập vào lớp bao ngoài từ một lớp bên trong bên trong?
public class EnclosingClass {
public class InnerClass {
private EnclosingClass getEnclosing() {
return EnclosingClass.this;
}
public class InnerInnerClass {
private InnerClass getEnclosing() {
return InnerClass.this;
}
private EnclosingClass getEnclosingOfEnclosing() {
return EnclosingClass.this;
}
}
}
}
Tôi đã ngạc nhiên rằng java cho phép InnerInnerClass
để truy cập trực tiếp các EnclosingClass
. Mã này được Java thực hiện như thế nào trong nội bộ?
Các InnerInnerClass
giữ hai con trỏ (một trên InnerClass
và các khác trên EnclosingClass
) hoặc InnerInnerClass truy cập EnclosingClass
qua InnerClass
?
Với * "Mã này được triển khai như thế nào?" *, Ý của bạn là cách Java thực hiện bên trong các lớp bên trong? – m0skit0
Tôi nghĩ anh ấy có ý đó. – ITroubs
xem http://stackoverflow.com/questions/70324/java-inner-class-and-static-nested-class – ITroubs