Конструкторы в Java: инициализация и лучшие практики
Конструктор инициализирует объект при создании. Имя совпадает с классом, синтаксис как у метода, но без возвращаемого типа. Обычно задаёт начальные значения полей или выполняет стартовые процедуры.
Все классы имеют конструкторы. Если не определить свой — Java предоставляет конструктор по умолчанию (нулевая инициализация). Как только вы определяете свой — дефолтный перестаёт использоваться.
Синтаксис
class ClassName {
ClassName() { }
}
Два типа конструкторов:
- Без аргументов (no-arg)
- Параметризованные
Конструкторы без аргументов
Инициализируют поля фиксированными значениями для всех объектов.
public class MyClass {
int num;
MyClass() { num = 100; }
}
public class ConsDemo {
public static void main(String[] args) {
MyClass t1 = new MyClass();
MyClass t2 = new MyClass();
System.out.println(t1.num + " " + t2.num); // 100 100
}
}
Параметризованные конструкторы
Принимают аргументы для индивидуальной инициализации.
class MyClass {
int x;
MyClass(int i) { x = i; }
}
public class ConsDemo {
public static void main(String[] args) {
MyClass t1 = new MyClass(10);
MyClass t2 = new MyClass(20);
System.out.println(t1.x + " " + t2.x); // 10 20
}
}
java
- Понимание конструкторов в C++: конструкторы по умолчанию, параметризованные и копирования
- Освоение операторов Java: типы, синтаксис и практические примеры
- Комментарии в Java: типы, использование и лучшие практики
- Освоение улучшенного цикла for в Java: синтаксис, примеры и лучшие практики
- Освоение конструкторов Java: типы, использование и практические примеры
- Освоение строк в Java: создание, методы и лучшие практики
- Интерфейсы в Java: концепции, реализация и лучшие практики
- Try-with-resources в Java: автоматическое управление ресурсами
- Аннотации в Java: типы, размещение и практические примеры
- Assertions в Java: практическое руководство по обнаружению багов и обеспечению надежности кода