#14 - Конструкторы при создании класса

#14 - Конструкторы при создании класса

В этом уроке мы с вами научимся создавать конструкторы классов. Это важная деталь при создании классов, которую ни в коем случае нельзя пропускать.

Видеоурок

Конструктор класса это очень удобная вещь, ведь он позволяет установить значения переменным сразу же при создании объекта. Конструктор класса должен называться точно также как сам класс. Пример создания конструктора показан ниже:
class Book {
    private int pages;
    public String name;
    private float weight;
 
    public void getInfoBook () {
        System.out.print("В книге " + name + " находиться " + pages + " страниц. ");
        System.out.print("При этом она весит " + weight + "кг!");
        System.out.println("");
    }   
    
    Book (int pages, float weight) {
      this.pages = pages;
      this.weight = weight;
    }
    
    Book (int pages, float weight, String name) {
      this.pages = pages;
      this.weight = weight;
      this.name = name;
    }
}
Как мы видим, в одном классе может быть сразу несколько конструкторов, поэтом при создании объекта мы можем передавать разное количество параметров и разный тип параметров. Компилятор сам определяет какой конструктор необходимо использовать в зависимости от передаваемых параметров. Кроме того, мы сделали переменные теперь с модификатором private, так как мы их используем только в самом классе и нам не надо чтобы где-то еще можно было иметь доступ к ним.

Дополнительно создадим два объекта и выведем информацию:
public class Main {
    public static void main(String[] args) {
        Book sherlock_holms = new Book(460, 1.7f); // Используем 1 конструктор
        sherlock_holms.name = "Шерлок Холмс"; // Устанавливаем вручную значение для name
        sherlock_holms.getInfoBook ();
        
        Book green_mile = new Book(750, 2.8f, "Зеленая миля"); // Используем второй конструктор
        green_mile.getInfoBook ();
    }
}
Поскольку переменная name имеет public модификатор доступа, то мы можем её отдельно изменить. Также конструктор может не принимать параметров. Тогда при создании объекта ничего не надо дополнительно передавать.

Исходный код

Весь код будет доступен после подписки на проект!

Онлайн редактор кода

Загрузка...

Задание к уроку

Необходимо оформить подписку на проект, чтобы получить доступ ко всем домашним заданиям

Большое задание по курсу

Вам необходимо оформить подписку на сайте, чтобы иметь доступ ко всем большим заданиям. В задание входит методика решения, а также готовый проект с ответом к заданию.
PS: подобные задания доступны при подписке от 1 месяца

Также стоит посмотреть

Создание приложения на React JS / Использование API
7 уроков
Уроки Angular для начинающих
7 уроков
Уроки Java Андроид программирования
16 уроков
Изучение JavaScript от нуля до гуру
21 урок
Уроки Vue.js для начинающих
10 уроков
Уроки Node JS и Express для начинающих
17 уроков
Комментарии для сайта Cackle