✅ Гибкие конструкторы
JDK 25 привнесёт ещё одно небольшое, но важное, на мой взгляд, изменение в язык программирования Java - гибкие конструкторы (JEP 513). Цель изменения - позволить выполнять действия в конструкторе класса-наследника до вызова конструктора родительского класса. Представим себе достаточно банальную ситуацию: нам нужно создать экземпляр некоторого класса-наследника, но в процессе создания нужно провалидировать переданные в аргументах данные. До Java 25 сделать это можно только после вызова конструктора...
2 года назад
Java 354. Мы не можем создать экземпляр абстрактного класса. Тогда почему конструкторы разрешены в абстрактном классе?
В Java мы можем объявлять конструкторы в абстрактном классе, потому что конструкторы не создают экземпляры абстрактного класса, в отличие от обычных методов. Конструктор - это специальный метод, который вызывается при создании нового объекта. Он инициализирует поля объекта и гарантирует, что объект находится в корректном состоянии перед использованием. Конструкторы не возвращают значения, они просто инициализируют объект. Абстрактные классы не могут быть использованы для создания объектов напрямую, но они могут иметь подклассы, которые расширяют их и реализуют их абстрактные методы...