Java Constructor Tutorial

Java Constructor Tutorial



Konstruktørværktøjet er en meget vigtig og nyttig metode, der bruges til objektorienteret programmering. Det er ikke obligatorisk at erklære en konstruktør for nogen klasse, og dette værktøj bruges hovedsageligt til at initialisere klassens objekt på tidspunktet for objektoprettelsen. Konstruktøren fungerer ikke som andre normale metoder. Konstruktørværktøjet kaldes snarere automatisk, når et objekt erklæres, og det allokerer hukommelsesplaceringen til objektet. Denne vejledning viser dig, hvordan forskellige typer brugerdefinerede konstruktører kan implementeres og bruges i programmering af Java-klasser.

Funktioner af Constructor

  1. Konstruktørens navn skal være det samme som klassens navn.
  2. Returtypen er ugyldig.
  3. Konstruktøren kan ikke være statisk, abstrakt og endelig.

Typer af konstruktører







  1. Standard
  2. Uden parameter
  3. Parameteriseret

1. Standardkonstruktør

Standardkonstruktøren oprettes af Java -kompilatoren, når koderen ikke erklærer nogen konstruktor for klassen, og denne konstruktør ikke indeholder noget argument. Java -filen indeholder ingen kode til standardkonstruktøren. Standardkonstruktorkoden oprettes på tidspunktet for kompilering af Java -kode og gemmes i . klasse fil.



2. Parameterløs konstruktør

Når en konstruktør erklæres uden nogen parameter eller argument, kaldes den en parameterløs konstruktor. En parameterløs konstruktør fungerer som en standardkonstruktor, og denne konstruktør kan indeholde udsagn, eller den kan være tom.



3. Parameteriseret konstruktør

Når en konstruktør deklareres med en eller flere parametre, kaldes den en parameteriseret konstruktør. Konstruktorens parameterværdier overføres på tidspunktet for objektoprettelse.





Eksempel 1: Oprettelse af en parameter-mindre konstruktør

Følgende kode viser, hvordan man bruger en parameterløs konstruktør. Det blev tidligere nævnt, at konstruktormetodens navn vil være det samme som klassens navn. Her er klassens navn ' con1 , 'Så det parameterløse konstruktørnavn er' con1 () . ’To klassevariabler,‘ navn 'Og' alder , ’Erklæres her. På tidspunktet for erklæringen af ​​objektvariablen ' obj , 'Bliver konstruktøren kaldet, og en bestemt besked udskrives. Derefter tildeles to værdier i klassevariablerne og udskrives senere ved hjælp af 'Obj' objekt.

offentlig klassecon1{

// erklære variabler
Snor navn;
intalder;

// Parameterløs konstruktør
con1() {
System .ud.println('Konstruktør kaldes.');

// Initialiser variablerne
navn= 'Fahim Reza';
alder= 30;
}

// main () metode
offentlig statisk ugyldigvigtigste( Snor []args) {

// Opret et objekt
con1 obj= nycon1();

// Udskriv værdierne for objektegenskaberne
System .ud.Print('Alderen' +obj.navn + 'er' +obj.alder);
}
}

Produktion:



Følgende billede viser output fra koden. Konstruktøren kaldes på tidspunktet for objektoprettelse og meddelelsen Konstruktør kaldes er trykt. Værdierne for ‘ navn 'Og' alder 'Er tildelt inde i konstruktøren. Værdierne for disse variabler udskrives senere.

Eksempel 2: Opret en parameteriseret konstruktør

Den følgende kode vil beregne en medarbejders samlede løn baseret på grundlønnen og udskrive den øvrige information om denne medarbejder sammen med den beregnede løn. Her erklæres syv klassevariabler. Konstruktøren, der hedder ' con2 () , 'Har tre parametre. De to første parametre tager strengværdierne i ' navn 'Og' stolpe 'Parametre, og den tredje parameter tager den numeriske værdi i' grundlæggende ’Parameter. Værdierne for disse parametre vil blive overført på tidspunktet for oprettelse af objekt. Konstruktøren vil initialisere klassevariablerne med disse værdier og beregne de andre værdier baseret på værdien af ​​' grundlæggende ’Parameter. Dernæst udskrives medarbejderens navn, stilling og løn.

offentlig klassecon2{

// Deklarér variabler
Snor navn;
Snor stolpe;
intGrundlæggende;
dobbeltHusudlejning;
dobbeltMedicinsk;
dobbeltTransportere;
dobbeltLøn;

// Parameteriseret konstruktør
con2( Snor navn, Snor stolpe,intgrundlæggende) {
det her.navn =navn;
det her.stolpe =stolpe;
det her.Grundlæggende =grundlæggende;
det her.Husudlejning =grundlæggende*0,3;
det her.Medicinsk =grundlæggende*0,2;
det her.Transportere =grundlæggende*0,1;
Løn=grundlæggende+Husudlejning+Medicinsk+Transportere;
}

// main () metode
offentlig statisk ugyldigvigtigste( Snor []args) {

// Opret et objekt
con2 obj= nycon2('Mir Sabbir','Revisor',65000);

// Udskriv værdierne for objektegenskaberne
System .ud.Print('Ansattes navn: ' +obj.navn + ' n' + 'Indlæg:'+obj.stolpe +
' n' + 'Løn: TK'+obj.Løn);
}
}

Produktion:

Følgende billede viser output fra koden. Her er medarbejderens navn, stilling og grundløn angivet i erklæringen om objektoprettelse. Den samlede løn, navn og post udskrives her.

Eksempel 3: Opret Constructor Chaining

Det er vigtigt at kende til arvsfunktionen ved objektorienteret programmering for at forstå begrebet konstruktorkæde. Når en ny klasse oprettes ved at arve en anden klasse, kaldes den arv. I dette tilfælde er alle egenskaber i forælder- eller basisklassen tilgængelige fra barnet eller den afledte klasse. Når et objekt i barneklassen oprettes, kalder den automatisk konstruktøren af ​​forældreklassen, før den kalder sin egen konstruktør. Det ' super() 'Metode bruges på andre sprog til at kalde forældrekonstruktøren, men Java -kompilatoren kalder denne metode automatisk. Brug af konstruktører på denne måde kaldes konstruktorkæder, og denne proces er vist i dette eksempel. Her er forældreklassens navn ' forælder 'Og barneklassens navn er' con3 . 'Der er en anden metode, der hedder' forene() 'I barneklassen, der kombinerer de værdier, der er tildelt i forældren og barnets konstruktører.

klasseforælder{

// Deklarér variabel
Snor strVal;

// Forældrekonstruktør
forælder(){
System .ud.println('Forældrekonstruktør hedder');
strVal= 'Jeg kan lide ';
}
}

offentlig klassecon3strækker sigforælder{

// Deklarér variabel
Snor childStrVal;

// Børnekonstruktør
con3(){
System .ud.println('Child Constructor hedder');
childStrVal=strVal+ 'Java -programmering';
}

// En anden metode til at kombinere strenge
Snor forene()
{
Vend tilbage det her.childStrVal;
}

// main () metode
offentlig statisk ugyldigvigtigste( Snor []args) {

// Opret et objekt
con3 obj= nycon3();
// Udskriv værdierne for objektegenskaberne
System .ud.Print(obj.forene());
}
}

Produktion:

Følgende billede viser output fra koden. Den første besked udskrives fra den overordnede konstruktør, mens den anden meddelelse udskrives fra den underordnede konstruktør. Den sidste besked udskrives ved at kalde ' forene() ’Metode.

Konklusion

Konceptet med konstruktøren og anvendelsen af ​​forskellige konstruktører forklares i denne vejledning ved hjælp af lette Java -kodeeksempler, som nybegyndere kan følge. Forhåbentlig har disse eksempler hjulpet dig med at forstå det grundlæggende i Java -konstruktør.