Preopterećenje konstruktora u Java
U čemu se preopterećenje konstruktora Java?
Java Preopterećenje konstruktora je tehnika u kojoj klasa može imati bilo koji broj konstruktora koji se razlikuju u popisu parametara. Prevodilac razlikuje ove konstruktore uzimajući u obzir broj parametara na popisu i njihovu vrstu.
Primjeri valjanih konstruktora za klasu Account su
Account(int a); Account (int a,int b); Account (String a,int b);
Primjer 2: Za razumijevanje preopterećenja konstruktora u Java
Korak 1) Upišite kod u uređivač.
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(); } }
Korak 2) Spremite, kompajlirajte i pokrenite kod.
Korak 3) Greška = ?. Pokušajte otkloniti pogrešku prije nego što prijeđete na sljedeći korak Java preopterećenje konstruktora
Korak 4) Svaka klasa ima zadanu vrijednost Konstruktor u Java. Zadani preopterećeni konstruktor Java za klasa Demo is Demo(). U slučaju da ne osigurate ovaj konstruktor, kompajler ga stvara za vas i inicijalizira varijable na zadane vrijednosti. Možete odlučiti nadjačati ovaj zadani konstruktor i inicijalizirati varijable na željene vrijednosti kao što je prikazano u primjeru 1.
Ali ako navedete parametrizirani konstruktor poput Demo(int a) i želite koristiti zadani konstruktor Java Demo(), obavezno ga navedite.
Drugim riječima, u slučaju da vaš konstruktor preopterećenja u Java je nadjačan, a vi želite koristiti zadani konstruktor Java, potrebno ga je specificirati.
Korak 5) Odkomentirajte redak # 4-8. Spremite, prevedite i pokrenite kod.
Zašto nam je potrebno preopterećenje konstruktora Java?
Preopterećenje konstruktora u Java dopušta više konstruktora u klasi, od kojih svaki ima različite liste parametara. Povećava fleksibilnost i poboljšava učinkovitost koda.
- Fleksibilnost u stvaranju objekata: Preopterećenje konstruktora omogućuje vam da inicijalizirate objekte na različite načine, ovisno o broju ili vrsti parametara.
- Mogućnost ponovne upotrebe koda: Logiku konstruktora možete ponovno koristiti pozivanjem jednog konstruktora iz drugog pomoću ključne riječi this().
- Poboljšana čitljivost: Preopterećeni konstruktori čine kod intuitivnijim nudeći specifične opcije konstruktora za različite potrebe inicijalizacije.
- Zadana i prilagođena inicijalizacija: Preopterećenje konstruktora omogućuje vam jednostavno stvaranje zadanih i prilagođenih inicijaliziranih objekata.