Конструктор класса в Java

У класса может быть специальный метод, который не имеет возвращаемого значения и который имеет то же самое имя, что и класс.

Этот метод называется конструктором.

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

class Cat{ String name; String color; // Видим, что перед Cat ничего не указано — // это значит, что этот метод это точно констурктор // и что он не возвращает накакого значения. // При создании объекта класса // в конструктор будут передаваться // два строковых значения — имя кошки и её цвет. Cat (String catName, String catColor) { // И эти переданные значения // присваиваются полям name и color объекта. name = catName; color = catColor; } void sayMeow(){ System.out.println(“Meow”); } } // Класс с методом main, где создаётся объект кота. class Constructors{ public static void main(String[] args) { // Очевидно, что ниже после new вызываеться // конструктор, который мы определили выше. // Через него создаваемому объекту кошки // задаеться имя и цвет. Cat somecat = new Cat(“Barsik”, “White”); // Таким образом в конструкторе // мы можем выполнять какие-либо действия // сразу при создании объекта. // Например, присвоить // полям объекта значения. // Выведем на консоль установленное // в конструкторе имя кошки. System.out.println(somecat.name); } }

Вывод:

На самом деле, мы уже сталкивались с конструктором в прошлом уроке когда создавали объект кота вот так:

Cat somecat = new Cat();.

В данном случае это конструктор по умолчанию, который автоматически создаётся компилятором, если в классе не определён ни один другой. Он позволяет создавать объекты без параметров. Однако если мы явно добавим свой конструктор (например, с параметрами), компилятор уже не создаст конструктор по умолчанию — его придётся прописать вручную.

Инкапсуляция

Инкапсуляция в Java: один из трёх столпов ООП. Узнайте, как сокрытие деталей реализации класса защищает данные и упрощает работу с объектами. Примеры

Time to read: 13

Модификаторы доступа

Public и private в Java: как ограничивать доступ к полям и методам. Основы инкапсуляции и безопасность данных в ООП.

Time to read: 12

Свойства в ООП (getters, setters)

Геттеры и сеттеры в Java: зачем нужны, как работают с private полями, инкапсуляция данных и контроль доступа к свойствам класса.

Time to read: 14