Установить значение частного поля с отражениемJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Установить значение частного поля с отражением

Сообщение Anonymous »

У меня 2 класса: Отец и Ребенок

public class Father implements Serializable, JSONInterface {

private String a_field;

//setter and getter here

}

public class Child extends Father {
//empty class
}


С отражением я хочу установить a_field в дочернем классе:

Class clazz = Class.forName("Child");
Object cc = clazz.newInstance();

Field f1 = cc.getClass().getField("a_field");
f1.set(cc, "reflecting on life");
String str1 = (String) f1.get(cc.getClass());
System.out.println("field: " + str1);


но у меня есть исключение:


Исключение в потоке "main" java .lang.NoSuchFieldException: a_field


Но если я попробую:

Child child = new Child();
child.setA_field("123");


это работает.

При использовании метода установки у меня та же проблема:
method = cc.getClass().getMethod("setA_field");
method.invoke(cc, new Object[] { "aaaaaaaaaaaaaa" });


Подробнее здесь: https://stackoverflow.com/questions/327 ... reflection
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»