Конструктор инициализирует объект вовремя создания объекта, при использовании нового оператора.
Java позволяет объектам инициализировать себя при их создании. Эта автоматическая инициализация выполняется за счет использования конструктора.
Синтаксис
Java конструктор по умолчанию
Java Параметры конструктора
Синтаксис для Java Параметры конструктора
Java Конструкторы перегрузки
Домашнее задание.
Синтаксис
Он имеет то же имя, что и класс. Конструкторы не имеют возвращаемого типа, даже void.
Пример пустого конструктора:
1 2 3 4 5 |
//nookery.ru public class Test { public Test() {//конструктор } |
В следующем коде класса Box используется конструктор для установки размеров высоты и ширины:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
//nookery.ru class Box { int width; int height; Box() { width = 20; height = 10; } int square() { return width * height; } } public class Test { public static void main(String args[]) { Box box = new Box(); int a; a = box.square(); System.out.println("Площадь=" + a); } } |
Результатом работы программа будет: Площадь=200
Java конструктор по умолчанию
Ниже я привел пример когда конструктор без параметров, именно такой конструктор без параметров создается по умолчанию в каждом классе. Если вы не объявить конструктор по умолчанию, компилятор Java добавит его за вас. При вызове конструктора по умолчанию добавлен Java компилятор переменные класса инициализирующий значением по умолчанию.
Конструктор по умолчанию конструктор без параметров.
1 2 3 4 5 |
//nookery.ru public class Test { public Test() {//конструктор } |
Java Параметры конструктора
Конструкторы также могут иметь параметры. Обычно параметры используются для установки начальные состояния объекта.
Синтаксис для Java Параметры конструктора
Синтаксис для Java Параметры конструктора.
1 2 3 4 5 6 |
class ClassName{ ClassName(Тип_Параметра переменная,Тип_Параметра переменная,...){ //конструктор ... } } |
В следующий код демонстрирует как в классе Box используется параметры, ширина и высота, от конструкторов , чтобы инициализировать его ширину и высоту.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
//nookery.ru class Box { int width; int height; Box(int w, int h) { width = w; height = h; } int square() { return width * height; } } public class Test { public static void main(String args[]) { Box box = new Box(30,20); int a; a = box.square(); System.out.println("Площадь=" + a); } } |
Результатом работы приложения будет:Площадь=600
Java Конструкторы перегрузки
Перегрузка методов заключается в объявлении двух или более методов с одним именем, но другого набора типа или числа параметров.
В дополнение к перегрузке обычных методов, вы можете также перегрузить методы конструктора.
В следующем коде класса Box определяется три конструктора для инициализации размеров различными способами.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 |
//nookery.ru class Box { int width; int height; int elongated; String name; Box(int w, int h) { width = w; height = h; } Box(int w, int h, int e) { width = w; height = h; elongated=e; } Box(String n) { name=n; } int volume(){ return width*height*elongated; } int square() { return width * height; } } public class Test { public static void main(String args[]) { Box box=new Box("Пустая коробка"); Box box2 = new Box(30,20); Box box3 = new Box(30,20,25); String str=box.name; System.out.println(str); int a; a = box2.square(); System.out.println("Площадь=" + a); int b; b=box3.volume(); System.out.println("Объем="+b); } } |
Результатом работы программы будет:
Пустая коробка
Площадь=600
Объем=15000
Домашнее задание.
- В нашем классе Fish из предыдущего урока, реализовать различные конструкторы с входящими параметрами вес, название, размер итд.
- Вспомнить где вы еще встречали конструкторы пока мы проходили занятия.