Žinokite apie „Java“ parametruojamą konstruktorių su pavyzdžiais



Šiame straipsnyje aprašoma, kaip galime naudoti parametruojamą konstruktorių „Java“ su įvairiais pavyzdžiais ir skirtumu tarp numatytojo ir parametrizuoto konstruktoriaus.

„Java“ yra viena iš daugelio programavimo kalbų . Tai reiškia, kad programuodami „Java“ turime visas galingas duomenų abstrakcijos, polimorfizmo, paveldėjimo ir kt. Ypatybes. Visų OOP funkcijų esmė yra klasių ir objektų įgyvendinimas bei jų tarpusavio sąveika. Šiame straipsnyje mes ypač apžvelgsime, kaip inicializuoti objektą naudojant parametrų konstruktorius . Atkreipkite dėmesį, kad pagrindinis supratimas apie reikalinga prieš tęsiant statybininkų darbą.

raktų klaida: „a“

Kas yra konstruktorius?

Konstruktorius iš esmės yra metodas, kuris automatiškai iškviečiamas, kai sukuriamas tos klasės objektas (egzempliorius). Jis naudojamas objekto duomenų nariams inicijuoti.





viešoji klasė „Edureka“ {Edureka () {System.out.println ('konstruktorius pagamintas')}}

Kai kurios konstruktoriaus savybės:

  1. Jis turi tą patį pavadinimą, kaip ir klasės pavadinimas
  2. Jis neturi grąžinimo tipo

Konstruktoriaus tipai

  1. Numatytasis konstruktorius
  2. Parametruotas konstruktorius

konstruktorių tipų parametruojami konstruktoriai „java-edureka“



Numatytasis konstruktorius ir parametruojamas konstruktorius

Numatytasis konstruktorius - Konstruktorius, kuris nepriima jokio parametro, vadinamas numatytuoju konstruktoriumi. Klasės apibrėžime nebūtina turėti konstruktoriaus bloko. Jei aiškiai nerašote konstruktoriaus, kompiliatorius automatiškai jį įterpia jums.

Numatytojo „Java“ konstruktoriaus pavyzdys:

viešoji klasė „Edureka“ {Edureka () {System.out.println ('Aš esu konstruktorius')} public static void main (String args []) {Edureka obj = new Edureka ()}}
 Išvestis: Esu konstruktorius

Parametruotas konstruktorius - Konstruktorius vadinamas Parameterized Constructor, kai jis priima konkretų parametrų skaičių. Inicijuoti klasės duomenis su skirtingomis reikšmėmis.



Parametruotą konstruktorių iliustruojantis pavyzdys:

public class Edureka {String studentName int studentAge // konstruktorius Edureka (String name, int age) {studentName = name studentAge = age} void display () {System.out.println (studentName + '' + studentAge)} public static void main ( Styginiai argumentai []) {Edureka myObj = new Edureka ('Manan', 19) myObj.display ()}}
 Išvestis: Mananas-19

Ankstesniame pavyzdyje mes perduodame objektui eilutę ir sveiką skaičių. Tada konstruktorius inicializuoja studento vardą ir studento amžių, naudodamas perduotas reikšmes. Tada ekrano metodas suteikia norimą išvestį.

Turint parametruojamą konstruktorių klasei, reikia pateikti pradines reikšmes kaip argumentus, kitaip kompiliatorius praneša apie klaidą.

Objektų perdavimas kaip argumentai

Taip pat galime pateikti argumentus kurdami kitus klasės egzempliorius. Tokiu būdu parametrizuoti konstruktoriai patenkina poreikį nukopijuoti vieno objekto vertes į kitą.

Pavyzdys, iliustruojantis perduodamus objektus kaip argumentus:

viešoji klasė „Edureka“ {Eilutė studento vardas Edureka (eilutės pavadinimas) {studento vardas = vardas} Edureka („Edureka myObj“) {this.studentName = myObj.studentName} negaliojantis ekranas () {System.out.println ('Studentas:' + studento vardas)} public static void main (String args []) {Edureka obj1 = new Edureka ('Manan') / * objekto perdavimas kaip konstruktoriaus argumentas * tai sukvies kopijos konstruktorių * / Edureka obj2 = nauja Edureka (obj1) sistema. out.println ('Printing obj1 -') obj1.display () System.out.println ('Printing obj2 -') obj2.display ()}}
 Išvestis: 
1 objekto spausdinimas -Mananas2 objekto spausdinimas -Mananas

Ankstesniame pavyzdyje mes inicijuojame obj1 naudodami eilutę. Tada mes pateiksime obj1 kaip argumentą kurdami obj2. Galiausiai, kai atspausdindami abu objekto studentName kintamuosius naudodami rodymo funkciją, gausime „Manan“.

Skambinimas numatytuoju konstruktoriumi iš parametruojamo „Java“ konstruktoriaus

Kartais reikia paskambinti numatytuoju konstruktoriumi iš kito tos pačios klasės konstruktoriaus. šis raktinis žodis vykdo šį tikslą.

Pavyzdys, iliustruojantis iškvietimą numatytam konstruktoriui iš parametrizuoto konstruktoriaus:

viešoji klasė „Edureka“ {String studentName int studentAge String member Edureka () {member = 'YES'} Edureka (String name, int age) {this () / * naudojamas paskambinti numatytajam konstruktoriui * iš parametruojamo konstruktoriaus * / studentName = vardas studentAge = age} negaliojantis ekranas () {System.out.println (studentoPavadinimas + '-' + studentAge + '-' + 'Narys' + narys)} public static void main (String args []) {Edureka obj = new Edureka („Manan“, 21 m.) Obj. Ekranas ()}}

Išvestis: Mananas - 21 - narys TAIP

Ankstesniame pavyzdyje, kai naudojamas parametruojamas konstruktorius, jis pirmiausia iškviečia numatytąjį konstruktorių šio () raktinio žodžio pagalba. Numatytasis konstruktorius inicijuoja „member“ kintamąjį į „YES“ ir tada vykdo parametruojamą konstruktorių.

Konstruktoriaus perkrova

Konstruktorius palaiko metodo perkrovą, kaip ir bet kurią kitą klasę. Remiantis skirtingų tipų ar argumentų skaičiumi, bus iškviesti skirtingi konstruktoriai.

Konstruktoriaus perkrovos pavyzdys:

public class Stačiakampis {int ilgis int plotis Stygos spalva // konstruktorius 1 Stačiakampis (int l, int b) {ilgis = l plotis = b spalva = 'Žalia'} // konstruktorius 2 Stačiakampis (int l, int b, String c) {length = l width = b color = c} void display () {System.out.println ('Length-' + length + 'Bread-' + width + 'Color' + color)} public static void main (String args [ ]) {Stačiakampis obj1 = naujas stačiakampis (2,4) stačiakampis obj2 = naujas stačiakampis (2,4, 'žalias') obj1.display () obj2.display ()}}
 Išvestis: Ilgis - 2 plotis - 4 spalva - žaliaIlgis - 2 plotis - 4 spalva - raudona

Dabar, kai suprantate, kokie yra konstruktoriai ir kaip su jais dirbti, jūs esate dar vienas žingsnis arčiau savo kelionės mokytis „Java“. Tokios sąvokos kaip konstruktoriai yra paprastos, tačiau yra labai svarbios, nes jos apima klases ir objektus. Norėdami gauti išsamesnių temų ir įdomių skaitymų, užsirašykite į „Edureka“ . Nesivaržykite atsiskaityti pradėti mokytis.

Turite mums klausimą? paminėkite tai šio straipsnio „Parameterized Constructor in Java“ komentarų skyriuje ir mes kuo greičiau susisieksime su jumis.