Kend om parametreret konstruktør i Java med eksempler



Denne artikel dækker, hvordan vi kan bruge parametreret konstruktør i java med forskellige eksempler og forskel mellem standard og parametreret konstruktør.

Java er et af de mange programmeringssprog, der følger . Det betyder, at mens vi programmerer i Java, har vi alle de kraftfulde funktioner i Data Abstraktion, Polymorfisme, Arv osv. Kernen i alle OOP-funktionerne er implementeringen af ​​klasser og objekter og deres interaktion med hinanden. I denne artikel vil vi især se på, hvordan man initialiserer et objekt ved hjælp af parametriserede konstruktører i . Bemærk, at en grundlæggende forståelse af kræves, før du fortsætter med konstruktører.

hvad er en iOS-udvikler?

Hvad er en konstruktør?

En konstruktør er grundlæggende en metode, der automatisk kaldes, når et objekt (forekomst) oprettes af denne klasse. Det bruges til at initialisere et objekts datamedlemmer.





offentlig klasse Edureka {Edureka () {System.out.println ('konstruktør er lavet')}}

Nogle funktioner i konstruktør inkluderer:

  1. Det har samme navn som klassens navn
  2. Det har ingen returtype

Typer af konstruktør

  1. Standardkonstruktør
  2. Parametreret konstruktør

typer konstruktørparameteriserede konstruktører i java-edureka



Standardkonstruktør vs Parameteriseret konstruktør

Standardkonstruktør - En konstruktør, der ikke accepterer nogen parameter, kaldes standardkonstruktør. Det er ikke nødvendigt at have en konstruktørblok i din klassedefinition. Hvis du ikke eksplicit skriver en konstruktør, indsætter compileren automatisk en til dig.

Eksempel på standardkonstruktør i Java:

offentlig klasse Edureka {Edureka () {System.out.println ('Jeg er en konstruktør')} offentlig statisk ugyldig main (String args []) {Edureka obj = new Edureka ()}}
 Produktion: Jeg er en konstruktør

Parametreret konstruktør - En konstruktør kaldes Parameterized Constructor, når den accepterer et bestemt antal parametre. At initialisere datamedlemmer i en klasse med forskellige værdier.



Eksempel, der illustrerer Parameterized Constructor:

offentlig klasse Edureka {String studentName int studentAge // constructor Edureka (String name, int age) {studentName = name studentAge = age} void display () {System.out.println (studentName + '' + studentAge)} public static ugyldig main ( Streng args []) {Edureka myObj = ny Edureka ('Manan', 19) myObj.display ()}}
 Produktion: Manan-19

I eksemplet ovenfor sender vi en streng og et heltal til objektet. Konstruktøren initialiserer derefter studentName og studentAge ved hjælp af de beståede værdier. Displaymetoden giver derefter den ønskede output.

Med en parametreret konstruktør til en klasse skal man angive indledende værdier som argumenter, ellers rapporterer compileren en fejl.

At videregive objekter som argumenter

Vi kan også videregive argumenter, mens vi opretter andre forekomster af en klasse. På denne måde opfylder parametriserede konstruktører behovet for at kopiere et objekts værdier til et andet.

Eksempel på illustration af videregivende objekter som argumenter:

offentlig klasse Edureka {String studentName Edureka (String name) {studentName = name} Edureka (Edureka myObj) {this.studentName = myObj.studentName} ugyldigt display () {System.out.println ('Student:' + studentName)} public statisk ugyldigt hoved (String args []) {Edureka obj1 = new Edureka ('Manan') / * videregiver objektet som et argument for konstruktøren * dette vil påkalde kopikonstruktøren * / Edureka obj2 = nye Edureka (obj1) System. out.println ('Udskrivning obj1 -') obj1.display () System.out.println ('Udskrivning obj2 -') obj2.display ()}}
 Produktion: 
Udskrivningsobjekt 1 -MananUdskrivningsobjekt 2 -Manan

I eksemplet ovenfor initialiserer vi obj1 ved hjælp af en streng. Vi sender derefter obj1 som et argument, mens vi opretter obj2. Endelig når vi udskriver begge objekts studentName-variabler ved hjælp af displayfunktion, får vi 'Manan'.

Opkald til standardkonstruktør fra en parametreret konstruktør i Java

Nogle gange er der behov for at kalde standardkonstruktøren fra en anden konstruktør i samme klasse. dette nøgleord opfylder dette formål.

Eksempel, der illustrerer opkald til en standardkonstruktør fra en parametreret konstruktør:

offentlig klasse Edureka {String studentName int studentAge String member Edureka () {member = 'YES'} Edureka (String name, int age) {this () / * dette bruges til at kalde standardkonstruktøren * fra parameteriseret konstruktør * / studentName = navn studentAge = age} ugyldig visning () {System.out.println (studentName + '-' + studentAge + '-' + 'Member' + medlem)} offentlig statisk ugyldig main (String args []) {Edureka obj = ny Edureka ('Manan', 21) obj.display ()}}

Produktion: Manan - 21 - medlem JA

I ovennævnte eksempel kalder den først standardkonstruktøren ved hjælp af dette () nøgleord, når den parametriserede konstruktør kaldes på. Standardkonstruktøren initialiserer 'medlem' -variablen til 'JA' og fortsætter derefter med at udføre parametriserede konstruktører.

Konstruktøroverbelastning

Constructor understøtter overbelastning af metoder ligesom enhver anden klasse. Baseret på forskellige typer eller antal argumenter kaldes forskellige konstruktører.

Eksempel på konstruktion af overbelastning:

offentlig klasse Rektangel {int længde int bredde Strengfarve // ​​konstruktør 1 Rektangel (int l, int b) {længde = l bredde = b farve = 'Grøn'} // konstruktør 2 rektangel (int l, int b, streng c) {længde = l bredde = b farve = c} tom skærm () {System.out.println ('Længde-' + længde + 'Bredde-' + bredde + 'Farve' + farve)} offentlig statisk tomrum hoved (String args [ ]) {Rectangle obj1 = new Rectangle (2,4) Rectangle obj2 = new Rectangle (2,4, 'Green') obj1.display () obj2.display ()}}
 Produktion: Længde - 2 bredde - 4 farver - grønLængde - 2 bredde - 4 farver - rød

Nu hvor du har et greb om, hvad konstruktører er, og hvordan du arbejder med dem, er du et skridt nærmere på din rejse for at lære Java. Begreber som konstruktører er enkle, men er ekstremt vigtige, da de involverer klasser og objekter. For mere detaljerede emner og sjove læsninger, tilmeld dig Edureka's . Du er velkommen til at tjekke vores at kickstarte din læring.

Har du et spørgsmål til os? nævnes dette i kommentarfeltet i denne 'Parameterized Constructor in Java' artikel, og vi vender tilbage til dig hurtigst muligt.