Перегрузка конструктора в 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().
- Улучшенная читаемость: Перегруженные конструкторы помогают сделать код более интуитивно понятным, предлагая определенные параметры конструктора для различных потребностей инициализации.
- Инициализация по умолчанию и пользовательская инициализация: Перегрузка конструктора позволяет легко создавать как объекты по умолчанию, так и объекты, инициализированные пользователем.