среда, 18 апреля 2012 г.

"Как писать в Java в private поле?"

Вопрос: зачем такое разрешать?


public class Foo {
private String fooPrivateField;
};


Foo foo = new Foo();
Field f = Foo.class.getDeclaratedField("fooPrivateField");
f.setAccessible(true);
f.set(foo, "valueHelloWorld!");

Очередная возможность выстрелить себе в ногу. Сможете найти оправдание этой возможности языка?
Стырил у Димы Погорелова. Подозреваю, что он сам это у кого-то стырил.

2 комментария:

  1. Этот комментарий был удален автором.

    ОтветитьУдалить
  2. Не тырил. Наткнулся. Искал объяснение записи гибернейтом в прайвит поля без сеттеров.

    ОтветитьУдалить