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

Обычный конструктор record в Java

Компактный конструктор удобен для проверок, но иногда нужен обычный конструктор с полным списком параметров. Его сигнатура совпадает с заголовком record, а в теле значения передают полям через this:

record Post(String title, int views) { public Post(String title, int views) { this.title = title; this.views = views; } }

Создадим запись Post с заголовком и просмотрами и выведем ее:

Post post = new Post("News", 12); System.out.println(post);

Такой конструктор заменяет автоматически сгенерированный канонический. Логику инициализации можно разместить между присваиваниями или после них, если правила языка это допускают:

Post post = new Post("", 3); System.out.println(post.title());

Явный конструктор и компактный с одним именем типа одновременно не объявляют - выбирают один способ. Обычный вариант нужен, когда требуется полный контроль над каждым this.поле:

Post post = new Post("Alert", -1); System.out.println(post.views());

Сделайте record Employee с компонентами name и salary. В явном конструкторе сохраните имя как есть, а отрицательный оклад замените на 0. Создайте сотрудника с окладом -100 и выведите salary().

Сделайте record Employee с компонентами title и views и явным каноническим конструктором. Создайте new Employee("Guide", 40) и выведите объект через println.

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