Tôi có kịch bản phân cấp lớp sau; Lớp A có một phương thức và lớp B mở rộng lớp A, nơi tôi muốn gọi một phương thức từ lớp siêu từ một lớp lồng nhau cục bộ. Tôi hy vọng một hình ảnh cấu trúc xương kịch bản rõ ràng hơn Liệu Java có cho phép các cuộc gọi như vậy không?Các lớp lồng ghép Java địa phương và truy cập các phương thức siêu
class A{
public Integer getCount(){...}
public Integer otherMethod(){....}
}
class B extends A{
public Integer getCount(){
Callable<Integer> call = new Callable<Integer>(){
@Override
public Integer call() throws Exception {
//Can I call the A.getCount() from here??
// I can access B.this.otherMethod() or B.this.getCount()
// but how do I call A.this.super.getCount()??
return ??;
}
}
.....
}
public void otherMethod(){
}
}
Bạn có chắc chắn muốn gọi các triển khai phương pháp ghi đè của lớp bên ngoài từ lớp bên trong không? Có vẻ như một mớ hỗn độn đúng với tôi. –
@Tom Hawtin - Tôi tin rằng đây đúng là một lớp "ẩn danh địa phương" không phải là một lớp "bên trong" - điều khiến nó trở nên rối rắm hơn nhiều. – emory
@emory Về mặt kỹ thuật, các lớp bên trong vô danh là các lớp địa phương là các lớp bên trong. –