Přetížení konstruktoru v Java
V jakém přetížení konstruktoru Java?
Java Přetížení konstruktoru je technika, ve které může mít třída libovolný počet konstruktorů, které se liší v seznamu parametrů. Kompilátor tyto konstruktory odlišuje tím, že bere v úvahu počet parametrů v seznamu a jejich typ.
Příklady platných konstruktorů pro třídu Account jsou
Account(int a); Account (int a,int b); Account (String a,int b);
Příklad 2: Abychom pochopili přetížení konstruktoru v Java
Krok 1) Zadejte kód do editoru.
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();
}
}
Krok 2) Uložte, zkompilujte a spusťte kód.
Krok 3) Chyba = ?. Než budete pokračovat k dalšímu kroku, zkuste chybu odladit Java přetížení konstruktoru
Krok 4) Každá třída má výchozí Konstruktér v Java. Výchozí přetížený konstruktor Java for třída Demo is Demo(). V případě, že tento konstruktor nezadáte, kompilátor jej vytvoří za vás a inicializuje proměnné na výchozí hodnoty. Můžete se rozhodnout přepsat tento výchozí konstruktor a inicializovat proměnné na požadované hodnoty, jak je znázorněno v příkladu 1.
Ale pokud zadáte parametrizovaný konstruktor, jako je Demo(int a), a chcete použít výchozí konstruktor Java Demo(), je pro vás povinné ji zadat.
Jinými slovy, v případě, že se váš konstruktor přetíží Java je přepsáno a chcete použít výchozí konstruktor Java, je třeba jej upřesnit.
Krok 5) Odkomentujte řádek č. 4-8. Uložte, zkompilujte a spusťte kód.
Proč potřebujeme přetížení konstruktoru Java?
Přetížení konstruktoru Java umožňuje více konstruktorů ve třídě, z nichž každý má různé seznamy parametrů. Zvyšuje flexibilitu a zlepšuje efektivitu kódu.
- Flexibilita při vytváření objektů: Přetížení konstruktoru umožňuje inicializovat objekty různými způsoby v závislosti na počtu nebo typu parametrů.
- Znovupoužitelnost kódu: Logiku konstruktoru můžete znovu použít voláním jednoho konstruktoru z jiného pomocí klíčového slova this().
- Vylepšená čitelnost: Přetížené konstruktory pomáhají dělat kód intuitivnějším tím, že nabízejí specifické možnosti konstruktoru pro různé potřeby inicializace.
- Výchozí a vlastní inicializace: Přetížení konstruktoru vám umožňuje snadno vytvářet výchozí i vlastní inicializované objekty.
