Видео: Java SE. Урок 15. Конструкторы Java 2025
Конструктор в Java - это блок кода, похожий на метод, который вызывается, когда экземпляр объект создается. Вот основные различия между конструктором и методом:
-
Конструктор не имеет типа возврата.
-
Имя конструктора должно совпадать с именем класса.
-
В отличие от методов, конструкторы не считаются членами класса.
-
Конструктор автоматически вызывается при создании нового экземпляра объекта.
Вот основной формат для кодирования конструктора:
public ClassName (список параметров) [throws exception …] {statements …}
Открытое ключевое слово указывает, что другие классы могут обращаться к конструктору. ClassName должно совпадать с именем класса, содержащего конструктор. Вы вводите список параметров так же, как вы его кодируете для метода.
Обратите внимание также, что конструктор может генерировать исключения, если он сталкивается с ситуациями, из-за которых он не может восстановиться.
Конструктор позволяет вам указать начальные значения полей класса при создании объекта. Предположим, что у вас есть класс с именем Actor, у которого есть поля с именем firstName и lastName. Вы можете создать конструктор для класса Actor:
public Actor (String first, String last) {firstName = first; lastName = last;}
Затем вы создаете экземпляр класса Actor, вызывая этот конструктор:
Актер a = новый актер («Арнольд», «Шварценеггер»);
Создан новый объект Актера для Арнольда Шварценеггера.
Подобные методы, конструкторы могут быть перегружены. Другими словами, вы можете предоставить более одного конструктора для класса, если каждый конструктор имеет уникальную подпись. Вот еще один конструктор класса Actor:
public Actor (String first, String last, boolean good) {firstName = first; lastName = last; goodActor = good;}
Этот конструктор позволяет вам создать объект Actor с информацией, помимо имени актера:
Актер a = новый Актер («Арнольд», «Шварценеггер», ложь);
Если вы не предоставляете конструктор для класса, Java автоматически создаст конструктор по умолчанию , который не имеет параметров и не инициализирует никакие поля. Этот конструктор по умолчанию вызывается, если вы укажете новое ключевое слово без прохождения параметров. Например:
Ball b = new Ball ();
Здесь переменная типа Ball создается с использованием конструктора по умолчанию для класса Ball.
Если вы явно объявляете какие-либо конструкторы для класса, Java не создает конструктор по умолчанию для класса.В результате, если вы объявляете конструктор, который принимает параметры и все еще хотите иметь пустой конструктор (без параметров и без тела), вы должны явно объявить пустой конструктор для класса.
