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.
