logo

Miksi käytämme Constructoria Javassa?

Tässä osiossa opimme miksi käytämme konstruktoria Javassa ja mikä on tarkoitus ja rakentajan tarve . Tämän ohella näemme myös rakentajan tyypit.

Javassa, rakentaja on samanlainen kuin menetelmä. Rakentajan ominaisuus on, että sillä on oltava sama nimi kuin luokan nimellä. Sillä ei ole palautustyyppiä. Meidän ei tarvitse kutsua rakentajaa manuaalisesti. Se kutsuu automaattisesti implisiittisesti ilmentymisen aikana.

Toisin sanoen konstruktori on menetelmä, jota kutsutaan ajon aikana objektin luonnin aikana käyttämällä uutta operaattoria. JVM kutsuu sitä automaattisesti, kun luomme objektin. Kun emme määrittele luokassa konstruktoria, oletuskonstruktori on aina näkymättömästi läsnä luokassa. Rakentajien käyttämiseen on seuraavat syyt:

  • Käytämme konstruktoreita alustamaan objektin oletus- tai alkutilaan. Primitiivien oletusarvot eivät ehkä ole sitä, mitä etsit.
  • Toinen syy rakentajan käyttöön on se, että se ilmoittaa riippuvuuksista. Toisin sanoen konstruktoria käyttämällä voimme pyytää kyseisen luokan käyttäjältä vaadittuja riippuvuuksia.
  • Voimme selvittää, mitä se tarvitsee voidakseen käyttää tätä luokkaa, katsomalla konstruktoria.

Lyhyesti sanottuna käytämme rakentajaa alusta luokan ilmentymämuuttuja.

Rakentajien tyypit

Javalla on kahdenlaisia ​​rakentajia:

merkkijonossa
  • Parametrisoitu konstruktori
  • Oletuskonstruktori

Parametrisoitu rakentaja

Kuten nimestä voi päätellä, se hyväksyy argumentit (parametrit). Parametrisoitua konstruktoria käytetään, jos halutaan dynaamisesti alustaa ilmentymämuuttujat määritellyillä arvoilla ilmentymishetkellä.

Esimerkki

 public class Demo { int i; //parameterized constructor public demo(int i) { this.i = i; } } 

Oletuskonstruktori

Oletuskonstruktori ei hyväksy mitään parametreja. Sitä käytetään, jos haluamme alustaa ilmentymämuuttujat tietyillä arvoilla. Jokaisella Java-luokalla on oletuskonstruktori, näkymättömästi. Meidän ei siis tarvitse määritellä sitä erikseen. Muista, että oletuskonstruktori poistetaan luokasta, kun luomme parametroidun konstruktorin.

Esimerkki

 public class Demo { int i; //default constructor public demo() { //the value of i is fixed this.i = 100; } } 

Huomautus: Kun emme tarjoa Java-ohjelmalle rakentajaa, Java-kääntäjä kirjoittaa oletuskonstruktorin ohjelmoijan puolesta ja kääntää ohjelman. Se alustaa ilmentymän muuttujat oletusarvoilla. Esimerkiksi 0 kokonaisluvulle, 0,0 floatille ja null merkkijonolle.

Luodaan ohjelma ja käytämme oletus- ja parametrisoitua konstruktoria.

Työntekijä-luokassa olemme luoneet kaksi konstruktoria, joista toinen on oletuskonstruktori ja toinen parametroitu konstruktori. Työntekijä-luokassa on kaksi yksityistä muuttujaa, nimittäin nimi ja ikä. Päämenetelmässä olemme instantoineet luokan ja käyttäneet molempia konstruktoreita.

suunnittelukuvioita java

Työntekijä.java

 import java.util.Scanner; public class Employee { private String name; private int age; //parameterized constructor public Employee(String name, int age) { this.name =name; this.age = age; } //Default constructor public Employee() { this.name = 'William'; this.age = 28; } //method for printing the values public void show() { System.out.println('Name of the employee: '+this.name); System.out.println('Age of the employee: '+this.age); } //main method public static void main(String args[]) { Employee e=new Employee(); //Reading values from user Scanner sc = new Scanner(System.in); System.out.println('Enter the name of the employee: '); String name = sc.nextLine(); System.out.println('Enter the age of the employee: '); int age = sc.nextInt(); System.out.println(' '); //Calling the parameterized constructor System.out.println('Show() method for the parameterized constructor: '); new Employee(name, age).show(); //Calling the default constructor System.out.println('Show() method for the default constructor: '); new Employee().show(); } } 

Lähtö:

 Enter the name of the employee: David Enter the age of the employee: 27 Show() method for the parameterized constructor: Name of the employee: David Age of the employee: 27 Show() method for the default constructor: Name of the employee: William Age of the employee: 28