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