Что означает «getDeclaredXyz» в пакете отражения Java - PullRequest
1 голос
/ 24 июня 2011

Например: o.getClass().getDeclaredFields() против o.getClass().getFields();

Являются ли "объявленные" теми, которые объявлены в текущем исходном файле?

1 Ответ

4 голосов
/ 24 июня 2011

getDeclaredFields() * * 1004

Возвращает массив объектов Field, отражающих все поля, объявленные классом или интерфейсом, представленным этим объектом Class. Сюда входят открытые, защищенные, доступ по умолчанию (пакет) и приватные поля, но исключает унаследованные поля . Элементы в возвращаемом массиве не отсортированы и не в каком-либо определенном порядке. Этот метод возвращает массив длины 0, если класс или интерфейс не объявляет никаких полей или если этот объект Class представляет примитивный тип, класс массива или void.

getFields():

Возвращает массив, содержащий объекты Field, отражающие все доступные открытые поля класса или интерфейса, представленные этим объектом Class. Элементы в возвращаемом массиве не отсортированы и не в каком-либо определенном порядке. Этот метод возвращает массив длины 0, если у класса или интерфейса нет доступных открытых полей или если он представляет класс массива, примитивный тип или void. В частности, если этот объект Class представляет класс, этот метод возвращает открытые поля этого класса и всех его суперклассов . Если этот объект Class представляет интерфейс, этот метод возвращает поля этого интерфейса и всех его суперинтерфейсов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...