Страницы

Поиск по вопросам

вторник, 31 декабря 2019 г.

Как обратится к приватной переменной из другого класса в Java

#java


Например есть код:

class B {
    private int i = 22;
}

class A {
    // тут код который выводит переменную i
}

Условие:
класс B нельзя менять.
класс А можно менять (т.е наследовать класс B и т.д)    


Ответы

Ответ 1



Через Reflection B b = new B(); Class clazz = B.class; Field iField = clazz.getDeclaredField("i"); iField.setAccessible(true); int fieldValue = iField.getInt(b); System.out.println("i = " + fieldValue);

Ответ 2



Мне кажется, проще в класс А добавить метод public int getI(){ return i; } так называемый, getter.

Комментариев нет:

Отправить комментарий