코드의 의도를 명확히 하려면 명시적 super 한정자를 필드 액세스에 추가하는 것이 좋습니다.
예:
class First {
protected String ambiguous;
}
class Second {
void foo(String ambiguous) {
new First() {
{
System.out.println(ambiguous); // 매개변수가 아닌 필드에 액세스했습니다
}
};
}
}
빠른 수정을 적용한 후:
class First {
protected String ambiguous;
}
class Second {
void foo(String ambiguous) {
new First() {
{
System.out.println(super.ambiguous);
}
};
}
}