다음 코드가 주어진다 :
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.
}
};
}
}
Container.select()
익명 클래스의 select()
메소드 에서 액세스하고 싶습니다 . 그러나 this.select()
다시 익명 클래스의 select()
메소드를 호출합니다 .
내 제안은 다음과 같습니다.
컨테이너에 필드를 도입하십시오. 예 :
private Container self = this;
이제 익명 클래스 내에서 Container.select()
전화 self.select()
하여 액세스 할 수 있습니다 .
이것이 합리적인 방법입니까? 아니면 더 좋은 방법이 있습니까?
this
방법과 속성과 마찬가지로 키워드 조차도 구분할 수 있다는 것을 몰랐습니다 . +1