Можно ли в джава изменить значение final переменной с помощью рефлексии?

212
02 мая 2018, 06:09

public class start {

public static void main(String[] args) throws Exception{
    UnderTest test = new UnderTest();
    System.out.println("До рефлекшина : " + test.getA());
    Field field = test.getClass().getDeclaredField("nomber");
    field.setAccessible(true);
    Field modifiersField = Field.class.getDeclaredField("modifiers");
    modifiersField.setAccessible(true);
    modifiersField.setInt(field, field.getModifiers() & ~Modifier.FINAL);
    field.set(test, 666);
    System.out.println("После рефлецшина : " + test.getA());
}

}

class UnderTest{

private final int nomber = 55;
public int getA() {
    return nomber;
}

}

Вывод : До рефлекшина : 55 После рефлецшина : 55

READ ALSO
Ошибка Unreachable statement в DialogFragment

Ошибка Unreachable statement в DialogFragment

Создаю фрагмент диалог, ввожу в onCreateView данные из View, но данные не принимаются, а подчёркиваются красным цветомВот код:

203
Как запустить Scene Builder напрямую из Eclipse?

Как запустить Scene Builder напрямую из Eclipse?

У меня проблема: не получается запуститьfxml-файл через "Open with SceneBuilder" в Eclipse, чтобы отобразить в Scene Builder

297
java.net.SocketTimeoutException: Read timed out при обращении к localhost

java.net.SocketTimeoutException: Read timed out при обращении к localhost

имеется программа которая считывает данные по протоколу ModbusTCP/IPv4 (На данный момент работаю с эмулятором slave ус-ва)При запуске программы как...

207
Postorder Бинарное Дерево java

Postorder Бинарное Дерево java

с толкнулся с такой проблемой, создал бинарное дерево и надо вывести значение в порядке postorder, данный код который у меня

205