Tôi có mã sau đây. Tôi muốn có được đối tượng lớp bên ngoài bằng cách sử dụng mà tôi đã tạo đối tượng lớp bên trong inner
. Tôi làm nó như thế nào?
public class OuterClass {
public class InnerClass {
private String name = "Peakit";
}
public static void main(String[] args) {
OuterClass outer = new OuterClass();
InnerClass inner = outer.new InnerClass();
// How to get the same outer object which created the inner object back?
OuterClass anotherOuter = ?? ;
if(anotherOuter == outer) {
System.out.println("Was able to reach out to the outer object via inner !!");
} else {
System.out.println("No luck :-( ");
}
}
}
EDIT: Vâng, một số bạn đề nghị sửa đổi lớp bên trong bằng cách thêm một phương thức:
public OuterClass outer() {
return OuterClass.this;
}
Nhưng nếu tôi không có quyền kiểm soát để sửa đổi lớp bên trong, thì (chỉ để xác nhận) liệu chúng ta có cách nào khác để lấy đối tượng lớp bên ngoài tương ứng từ đối tượng lớp bên trong không?