이와 같이 이름이 지정될 경우, 포함하는 메서드의 변수 및 매개변수를 사용하려다가 익명 클래스의 이름이 동일한 필드를 실수로 사용할 수 있습니다.
빠른 수정에서는 필드 이름을 변경하도록 제안합니다.
예:
class Test {
public Test(String value) {
Object foo = new Object() {
private String value = "TEST";
public void foo() {
System.out.println(value); //매개변수가 아닌 필드에 액세스했습니다
}
};
}
}