Zināt par Java parametru konstruktoru ar piemēriem



Šajā rakstā ir aprakstīts, kā mēs varam izmantot parametrizētu konstruktoru Java ar dažādiem piemēriem un atšķirību starp noklusēto un parametrizēto konstruktoru.

Java ir viena no daudzajām programmēšanas valodām, kas seko . Tas nozīmē, ka programmējot Java, mums ir visas spēcīgās datu abstrakcijas, polimorfisma, mantojuma uc iezīmes. Visu OOP funkciju pamatā ir klašu un objektu ieviešana un to mijiedarbība savā starpā. Šajā rakstā mēs īpaši aplūkosim, kā inicializēt objektu, izmantojot parametrizētus konstruktorus . Lūdzu, ņemiet vērā, ka pamata izpratne par ir nepieciešama, pirms jūs turpināt celtniekus.

kā pārveidot par bināru pitonā

Kas ir konstruktors?

Konstruktors būtībā ir metode, kas tiek automātiski izsaukta, kad tiek izveidots šīs klases objekts (instance). To izmanto, lai inicializētu objekta datu dalībniekus.





publiskā klase Edureka {Edureka () {System.out.println ('konstruktors ir izgatavots')}}

Dažas konstruktora funkcijas ietver:

  1. Tam ir tāds pats nosaukums kā klases nosaukumam
  2. Tam nav atgriešanās veida

Konstruktora veidi

  1. Noklusējuma konstruktors
  2. Parametrēts konstruktors

konstruktoru parametru parametru konstruktora veidi java-edurekā



Noklusējuma konstruktors vs parametrizētais konstruktors

Noklusējuma konstruktors - Konstruktoru, kas nepieņem nevienu parametru, sauc par noklusējuma konstruktoru. Klases definīcijā nav nepieciešams konstruktora bloks. Ja jūs tieši nerakstāt konstruktoru, kompilators jums to automātiski ievieto.

Piemērs, kas ilustrē Java noklusējuma konstruktoru:

publiskā klase Edureka {Edureka () {System.out.println ('Es esmu konstruktors')} public static void main (String args []) {Edureka obj = new Edureka ()}}
 Izeja: Es esmu konstruktors

Parametrēts konstruktors - Konstruktoru sauc par parametru konstruktoru, ja tas pieņem noteiktu parametru skaitu. Lai inicializētu klases dalībniekus ar atšķirīgām vērtībām.



Parametrizēta konstruktora ilustrēšanas piemērs:

publiskā klase Edureka {String studentName int studentAge // konstruktors Edureka (String name, int age) {studentName = name studentAge = age} void display () {System.out.println (studentName + '' + studentAge)} public static void main ( Stīgu argumenti []) {Edureka myObj = new Edureka ('Manan', 19) myObj.display ()}}
 Izeja: Manan-19

Iepriekš minētajā piemērā mēs objektam nododam virkni un veselu skaitli. Pēc tam konstruktors inicializē studenta vārdu un studenta vecumu, izmantojot nodotās vērtības. Displeja metode dod vēlamo rezultātu.

Izmantojot klases parametru konstruktoru, kā argumenti jānorāda sākotnējās vērtības, pretējā gadījumā sastādītājs ziņo par kļūdu.

Objektu kā argumentu nodošana

Mēs varam nodot arī argumentus, vienlaikus veidojot citus klases gadījumus. Šādi parametrizēti konstruktori izpilda nepieciešamību kopēt viena objekta vērtības citā.

Piemērs, kas ilustrē objektu nodošanu kā argumentus:

publiskā klase Edureka {String studentName Edureka (virknes nosaukums) {studentName = name} Edureka (Edureka myObj) {this.studentName = myObj.studentName} void display () {System.out.println ('Student:' + studentName)} public static void main (String args []) {Edureka obj1 = new Edureka ('Manan') / * nododot objektu kā argumentu konstruktoram *, tas izsauks kopiju konstruktoru * / Edureka obj2 = jauno Edureka (obj1) sistēmu. out.println ('Printing obj1 -') obj1.display () System.out.println ('Printing obj2 -') obj2.display ()}}
 Izeja: 
1. objekta drukāšana -Manan2. objekta drukāšana -Manan

Iepriekš minētajā piemērā mēs inicializējam obj1, izmantojot virkni. Tad mēs nododam obj1 kā argumentu, vienlaikus izveidojot obj2. Visbeidzot, kad, izmantojot displeja funkciju, izdrukājam abus objekta studenta nosaukuma mainīgos, mēs iegūstam “Manan”.

Zvanīšana uz noklusējuma konstruktoru no parametrizēta Java konstruktora

Dažreiz ir nepieciešams izsaukt noklusējuma konstruktoru no cita tās pašas klases konstruktora. šo atslēgvārdu izpilda šo mērķi.

Piemērs, kas ilustrē izsaukumu uz noklusējuma konstruktoru no parametrizēta konstruktora:

public class Edureka {String studentName int studentAge String member Edureka () {member = 'YES'} Edureka (String name, int age) {this () / * to izmanto, lai izsauktu noklusējuma konstruktoru * no parametrizētā konstruktora * / studentName = nosaukums studentAge = age} anulēt displeju () {System.out.println (studentName + '-' + studentAge + '-' + 'Member' + biedrs)} public static void main (String args []) {Edureka obj = new Edureka ('Manan', 21) obj.display ()}}

Izeja: Manan - 21 - loceklis JĀ

Iepriekš minētajā piemērā, kad tiek izsaukts parametrizēts konstruktors, tas vispirms izsauc noklusējuma konstruktoru ar šī () atslēgvārda palīdzību. Noklusējuma konstruktors inicializē mainīgo “member” uz “YES” un pēc tam turpina izpildīt parametrizēto konstruktoru.

Konstruktora pārslodze

Konstruktors atbalsta metodes pārslodzi tāpat kā jebkura cita klase. Pamatojoties uz dažādu veidu vai argumentu skaitu, tiks izsaukti dažādi konstruktori.

Konstruktora pārslodzes ilustrēšanas piemērs:

publiskā klase Taisnstūris {int garums int platums Stīgas krāsa // konstruktors 1 Taisnstūris (int l, int b) {garums = l platums = b krāsa = 'Zaļš'} // konstruktors 2 Taisnstūris (int l, int b, String c) {length = l width = b color = c} void display () {System.out.println ('Garums-' + garums + 'Platums-' + platums + 'Krāsa' + krāsa)} public static void main (String args [ ]) {Taisnstūra obj1 = jauns taisnstūris (2,4) Taisnstūra obj2 = jauns taisnstūra (2,4, 'zaļš') obj1.display () obj2.display ()}}
 Izeja: Garums - 2 platums - 4 krāsa - zaļaGarums - 2 platums - 4 krāsa - sarkana

Tagad, kad jūs saprotat, kas ir konstruktori un kā ar tiem strādāt, jūs esat viens solis tuvāk ceļam, lai apgūtu Java. Koncepcijas, piemēram, konstruktori, ir vienkāršas, bet ir ārkārtīgi svarīgas, jo tās ietver klases un objektus. Lai iegūtu padziļinātākas tēmas un jautru lasījumu, reģistrējieties Edureka’s . Jūtieties brīvi izrakstīties mūsu lai sāktu mācīties.

Vai mums ir jautājums? lūdzu, pieminējiet to šī raksta “Parameterized Constructor in Java” komentāru sadaļā, un mēs pēc iespējas ātrāk sazināsimies ar jums.