#13 – Конструкторы классов в Джава

#13 – Конструкторы классов в Джава

Конструкторы в классах вызываются при создании объектов. За счет конструктора вы быстро можете установить данные или же выполнить код при создании объекта. За урок мы научимся использовать конструкторы в языке Java.

Видеоурок

Конструктор класса очень удобен и по своему виду схож с обыкновенными функциями. За счёт конструктора мы можем установить значения для объекта сразу при его создании.


Конструктор должен иметь одинаковое название с классом. Пример создания конструктора показан ниже:

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 месяца

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

Фреймворк Next JS / Изучение NextJS для начинающих
8 уроков
Уроки Vue.js для начинающих
10 уроков
Практика React JS / Разработка магазина (eCommerce)
9 уроков
Создание динамического веб сайта
22 урока
Уроки React Native для начинающих / Разработка приложения с нуля
11 уроков
Курс по React JS для начинающих
11 уроков
Комментарии
Добавить комментарий

Пока комментариев нет