Перегрузка конструктора в Java
Что такое перегрузка конструктора Java?
Java Перегрузка конструктора — это метод, при котором класс может иметь любое количество конструкторов, различающихся списком параметров. Компилятор различает эти конструкторы, принимая во внимание количество параметров в списке и их тип.
Примерами допустимых конструкторов для класса Account являются:
Account(int a); Account (int a,int b); Account (String a,int b);
Пример 2: Чтобы понять перегрузку конструктора в Java
Шаг 1) Введите код в редакторе.
class Demo{
int value1;
int value2;
/*Demo(){
value1 = 10;
value2 = 20;
System.out.println("Inside 1st Constructor");
}*/
Demo(int a){
value1 = a;
System.out.println("Inside 2nd Constructor");
}
Demo(int a,int b){
value1 = a;
value2 = b;
System.out.println("Inside 3rd Constructor");
}
public void display(){
System.out.println("Value1 === "+value1);
System.out.println("Value2 === "+value2);
}
public static void main(String args[]){
Demo d1 = new Demo();
Demo d2 = new Demo(30);
Demo d3 = new Demo(30,40);
d1.display();
d2.display();
d3.display();
}
}
Шаг 2) Сохраните, скомпилируйте и запустите код.
Шаг 3) Ошибка = ?. Попробуйте устранить ошибку, прежде чем переходить к следующему шагу. Java перегрузка конструктора
Шаг 4) У каждого класса есть значение по умолчанию Конструктор в Java. Перегруженный конструктор по умолчанию Java для демонстрация класса is Демо(). Если вы не предоставляете этот конструктор, компилятор создаст его за вас и инициализирует переменные значениями по умолчанию. Вы можете переопределить этот конструктор по умолчанию и инициализировать переменные нужными значениями, как показано в примере 1.
Но если вы укажете параметризованный конструктор, например Demo(int a), и хотите использовать конструктор по умолчанию Java Demo(), указать его обязательно.
Другими словами, если ваш конструктор перегрузки в Java переопределено, и вы хотите использовать конструктор по умолчанию Java, его необходимо указать.
Шаг 5) Раскомментируйте строки № 4–8. Сохраните, скомпилируйте и запустите код.
Зачем нам нужна перегрузка конструктора в Java?
Перегрузка конструктора в Java позволяет использовать несколько конструкторов в классе, каждый из которых имеет разные списки параметров. Это повышает гибкость и улучшает эффективность кода.
- Гибкость в создании объектов: Перегрузка конструктора позволяет инициализировать объекты различными способами в зависимости от количества или типа параметров.
- Повторное использование кода: Вы можете повторно использовать логику конструктора, вызывая один конструктор из другого с помощью ключевого слова this().
- Улучшенная читаемость: Перегруженные конструкторы помогают сделать код более интуитивно понятным, предлагая определенные параметры конструктора для различных потребностей инициализации.
- Инициализация по умолчанию и пользовательская инициализация: Перегрузка конструктора позволяет легко создавать как объекты по умолчанию, так и объекты, инициализированные пользователем.
