Как посредством рефлексии менять поля класса-переменной?

Как мне изменить поля класса-переменной? Никак не получается. Пример кода:

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");

Либо выкидывает ошибку, что класс не имеет конструктора с нулевым аргументом, либо просто ничего не сетается в классе.


Ответы (0 шт):