Перевантаження конструктора в 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().
- Покращена читаність: Перевантажені конструктори допомагають зробити код більш інтуїтивно зрозумілим, пропонуючи спеціальні параметри конструктора для різних потреб ініціалізації.
- Стандартна та спеціальна ініціалізація: Перевантаження конструктора дозволяє легко створювати об’єкти за замовчуванням і користувацькі ініціалізації.