Почему добавление открытого поля в анонимный класс в Java не работает?

У меня есть пример класса, определенного ниже:

public class FooBar {

  void method1(Foo foo){ // Should be overwritten
    ...
  }

}

Позже, когда я попробую это:

FooBar fooBar = new FooBar(){
  public String name = null;
  @Override
  void method1(Foo foo){
    ...
  }
};

fooBar.name = "Test";

, я получаю сообщение об ошибке, говорящее, что поле имени не существует. Почему?

13
задан irreputable 23 June 2011 в 19:07
поделиться