Как посредством рефлексии менять поля класса-переменной?
Как мне изменить поля класса-переменной? Никак не получается. Пример кода:
public class Test {
public Nested variable = new Nested();
public class Nested {
public String value = "";
}
}
Нужно изменить поле класса "value" внутри переменной variable.
Мои попытки:
Class parentClass = ...; // какой-то класс
Class nestedClass = parentClass.getDeclaredField("variable").getType();
nestedClass.getDeclaredField("value").set(nestedClass.newInstance(), "new value");
Либо выкидывает ошибку, что класс не имеет конструктора с нулевым аргументом, либо просто ничего не сетается в классе.