Например: o.getClass().getDeclaredFields() против o.getClass().getFields();
o.getClass().getDeclaredFields()
o.getClass().getFields()
Являются ли "объявленные" теми, которые объявлены в текущем исходном файле?
getDeclaredFields() * * 1004
getDeclaredFields()
Возвращает массив объектов Field, отражающих все поля, объявленные классом или интерфейсом, представленным этим объектом Class. Сюда входят открытые, защищенные, доступ по умолчанию (пакет) и приватные поля, но исключает унаследованные поля . Элементы в возвращаемом массиве не отсортированы и не в каком-либо определенном порядке. Этот метод возвращает массив длины 0, если класс или интерфейс не объявляет никаких полей или если этот объект Class представляет примитивный тип, класс массива или void.
getFields():
getFields()
Возвращает массив, содержащий объекты Field, отражающие все доступные открытые поля класса или интерфейса, представленные этим объектом Class. Элементы в возвращаемом массиве не отсортированы и не в каком-либо определенном порядке. Этот метод возвращает массив длины 0, если у класса или интерфейса нет доступных открытых полей или если он представляет класс массива, примитивный тип или void. В частности, если этот объект Class представляет класс, этот метод возвращает открытые поля этого класса и всех его суперклассов . Если этот объект Class представляет интерфейс, этот метод возвращает поля этого интерфейса и всех его суперинтерфейсов.