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.