Cho mã sau:
public interface Selectable {
public void select();
}
public class Container implements Selectable {
public void select() {
...
}
public void createAnonymousClass() {
Selectable s = new Selectable() {
public void select() {
//see comment below.
}
};
}
}
Tôi muốn truy cập Container.select()
từ trong select()
phương thức của lớp ẩn danh của mình . Tuy nhiên, this.select()
một lần nữa sẽ gọi select()
phương thức của lớp ẩn danh .
Đề nghị của tôi sẽ là:
Giới thiệu một lĩnh vực vào Container, ví dụ
private Container self = this;
Bây giờ tôi có thể truy cập Container.select()
bằng cách gọi self.select()
từ trong lớp ẩn danh.
Đây có phải là một cách hợp lý? Hoặc có cách nào tốt hơn?
this
các từ khóa có thể được phân biệt giống như các phương thức và thuộc tính có thể. +1