에서 다음 코드를 감안할 때 :액세스 "이"자바 익명 클래스
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.
}
};
}
}
가 내 익명 클래스의 select()
방법 내에서 Container.select()
에 액세스하려는합니다. 그러나 this.select()
은 다시 익명 클래스 'select()
메서드를 호출합니다.
나의 제안은 다음과 같습니다
컨테이너, 예를 들어,로 필드를 소개합니다
private Container self = this;
지금은 익명의 클래스 내에서 self.select()
를 호출하여 Container.select()
에 액세스 할 수 있습니다.
이 방법이 적절한가요? 아니면 더 좋은 방법이 있습니까?
이제 완전히 새로운 것입니다. –
나는 방법과 속성이 할 수있는 것처럼이 키워드가 차별화 될지조차 모른다. +1 –
여기서 정확히 '컨테이너'클래스를 지정해야한다는 점에 유의해야합니다. 조상은 받아 들여지지 않습니다. – velis