Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗jvSpRfFd 128 of 322 menu
◀ ▶

Поля класса в Java

После получения Class можно спросить, какие поля объявлены в типе. Каждый элемент списка имеет тип Field с именем, типом значения и модификаторами доступа.

Метод getDeclaredFields возвращает все поля, объявленные в самом классе, включая закрытые. Имена удобно печатать через getName:

class Ledger { private String code; private int balance; Ledger(String code, int balance) { this.code = code; this.balance = balance; } } public class Main { public static void main(String[] args) { for (var field : Ledger.class.getDeclaredFields()) { System.out.println(field.getName()); } } }

Метод getFields показывает только открытые поля, в том числе унаследованные от родителя. Для типа без публичных полей список может оказаться пустым, хотя закрытые поля в классе есть:

class Ledger { private String code; } public class Main { public static void main(String[] args) { System.out.println(Ledger.class.getFields().length); System.out.println(Ledger.class.getDeclaredFields().length); } }

На практике для своего класса чаще берут getDeclaredFields, когда нужен полный перечень объявлений. getFields полезен, если интересуют только открытые члены, видимые снаружи и у предков.

Опишите класс Widget с двумя закрытыми полями и одним публичным. Выведите имена из getDeclaredFields и количество элементов из getFields.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить