
#13 – Конструкторы классов в Джава
Видеоурок
Конструктор класса очень удобен и по своему виду схож с обыкновенными функциями. За счёт конструктора мы можем установить значения для объекта сразу при его создании.
Конструктор должен иметь одинаковое название с классом. Пример создания конструктора показан ниже:
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
. Дело в том, что все переменные лучше делать либо private, либо protected. Доступ к переменным должен осуществляться только за счёт методов и конструкторов. Доступ к полям напрямую должен быть закрыт.
Дополнительно создадим два объекта и выведем информацию:
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 модификатор доступа, то мы можем ссылаться к ней отдельно. Лучше так не делать и для неё тоже установить модификатор private.Исходный код
Весь код будет доступен после подписки на проект!
Задание к уроку
Необходимо оформить подписку на проект, чтобы получить доступ ко всем домашним заданиям
Большое задание по курсу
Вам необходимо оформить подписку на сайте, чтобы иметь доступ ко всем большим заданиям. В задание входит методика решения, а также готовый проект с ответом к заданию.
PS: подобные задания доступны при подписке от 1 месяца
Также стоит посмотреть