I denne delen vil vi lære hvorfor vi bruker en konstruktør i Java og hva er formålet og konstruktørens behov . Sammen med dette vil vi også se typer konstruktør.
arp-a kommando
I Java er konstruktør ligner på metoden. Egenskapen til konstruktøren er at den må ha samme navn som klassenavnet. Den har ingen returtype. Vi trenger ikke å ringe konstruktøren manuelt. Den påkaller automatisk implisitt under instansieringen.
Med andre ord er en konstruktør en metode som kalles ved kjøretid under objektopprettingen ved å bruke den nye operatoren. JVM kaller det automatisk når vi lager et objekt. Når vi ikke definerer en konstruktør i klassen, er standardkonstruktøren alltid usynlig til stede i klassen. Det er følgende grunner til å bruke konstruktører:
- Vi bruker konstruktører for å initialisere objektet med standard eller initial tilstand. Standardverdiene for primitiver er kanskje ikke det du leter etter.
- En annen grunn til å bruke konstruktør er at den informerer om avhengigheter. Med andre ord, ved å bruke konstruktøren kan vi be brukeren av den klassen om nødvendige avhengigheter.
- Vi kan finne ut hva den trenger for å bruke denne klassen, bare ved å se på konstruktøren.
Kort fortalt bruker vi konstruktøren til initialisere forekomstvariabelen til klassen.
Typer konstruktører
Det er to typer konstruktører i Java:
uml diagram java
- Parametrisert konstruktør
- Standard konstruktør
Parameterisert konstruktør
Som navnet antyder, godtar den argumenter (parametere). Den parameteriserte konstruktøren brukes hvis vi ønsker å dynamisk initialisere instansvariablene med de spesifiserte verdiene på tidspunktet for instansieringen.
Eksempel
public class Demo { int i; //parameterized constructor public demo(int i) { this.i = i; } }
Standard konstruktør
Standardkonstruktøren godtar ingen parameter. Den brukes hvis vi ønsker å initialisere instansvariablene med bestemte verdier. Hver Java-klasse har en standardkonstruktør, usynlig. Så vi trenger ikke å definere det separat. Husk at standardkonstruktøren fjernes fra klassen når vi lager en parameterisert konstruktør.
Eksempel
public class Demo { int i; //default constructor public demo() { //the value of i is fixed this.i = 100; } }
Merk: Når vi ikke leverer noen konstruktør til et Java-program, skriver Java-kompilatoren standardkonstruktøren på vegne av programmereren og kompilerer programmet. Den initialiserer forekomstvariablene med standardverdiene. For eksempel 0 for heltall, 0,0 for flytende og null for streng.
La oss lage et program og bruke standard og parameterisert konstruktør.
I Employee-klassen har vi laget to konstruktører, den ene er standardkonstruktøren og den andre er den parameteriserte konstruktøren. Ansatte-klassen har to private variabler, nemlig navn og alder. I hovedmetoden har vi instansiert klassen og brukt begge konstruktørene.
natasha dalal
Employee.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(); } }
Produksjon:
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