Konstruktora iezīmes
- Konstruktora vārdam jābūt tādam pašam kā klases nosaukumam.
- Atgriešanas veids nav derīgs.
- Konstruktors nevar būt statisks, abstrakts un galīgs.
Konstruktora veidi
- Noklusējums
- Bez parametriem
- Parametri
1. Noklusējuma konstruktors
Noklusējuma konstruktoru izveido Java kompilators, ja kodētājs nepaziņo nevienu klases konstruktoru un šajā konstruktorā nav neviena argumenta. Java failā nav noklusējuma konstruktora koda. Noklusējuma konstruktora kods tiek izveidots Java koda sastādīšanas laikā un tiek saglabāts .klasē failu.
2. Bez parametriem konstruktors
Kad konstruktors tiek deklarēts bez parametra vai argumenta, tad to sauc par konstruktoru bez parametriem. Konstruktors bez parametriem darbojas kā noklusējuma konstruktors, un šajā konstruktorā var būt teikumi vai arī tas var būt tukšs.
3. Parametrēts konstruktors
Kad jebkurš konstruktors tiek deklarēts ar vienu vai vairākiem parametriem, to sauc par parametrizētu konstruktoru. Konstruktora parametru vērtības tiek nodotas objekta izveides laikā.
1. piemērs: bez parametriem izveidota konstruktora izveide
Šis kods parāda, kā izmantot bez parametriem konstruktoru. Iepriekš tika minēts, ka konstruktora metodes nosaukums būs tāds pats kā klases nosaukums. Klases nosaukums ir “con1,"tātad bez parametra konstruktora nosaukums ir"con1 ()."Divi klases mainīgie"nosaukums' un 'vecums,šeit ir deklarēti. Deklarējot objekta mainīgo 'obj,'tiks izsaukts konstruktors un tiks izdrukāts konkrēts ziņojums. Pēc tam klases mainīgajos tiek piešķirtas divas vērtības, kuras vēlāk tiek izdrukātas, izmantojot "obj" objekts.
publiskā klase con1// deklarēt mainīgos
Stīgas nosaukums;
int vecums;
// Konstruktors bez parametriem
con1 ()
Sistēma.ārā.println ("Tiek saukts konstruktors.");
// Inicializējiet mainīgos
nosaukums = "Fahim Reza";
vecums = 30;
// galvenā () metode
public static void main (String [] args)
// Izveidojiet objektu
con1 obj = jauns con1 ();
// Izdrukājiet objekta rekvizītu vērtības
Sistēma.ārā.drukāt ("Vecums" + obj.nosaukums + "ir" + obj.vecums);
Izeja:
Šis attēls parāda koda izvadi. Konstruktors tiek izsaukts objekta izveidošanas laikā un tiek parādīts ziņojums “Tiek izsaukts konstruktors”Ir iespiests. Vērtībasnosaukums' un 'vecums'ir piešķirti konstruktora iekšpusē. Šo mainīgo vērtības tiek izdrukātas vēlāk.
2. piemērs: izveidojiet parametrizētu konstruktoru
Šis kods aprēķinās darbinieka kopējo algu, pamatojoties uz pamatalgu, un kopā ar aprēķināto algu izdrukās arī citu šī darbinieka informāciju. Šeit tiek deklarēti septiņi klases mainīgie. Konstruktors ar nosaukumucon2 (),'ir trīs parametri. Pirmie divi parametri ņems virknes vērtības 'nosaukums' un 'pastuparametriem, bet trešais parametrs skaitlisko vērtību ņemspamata'parametrs. Šo parametru vērtības tiks nodotas objekta izveides laikā. Konstruktors inicializēs klases mainīgos ar šīm vērtībām un aprēķinās citas vērtības, pamatojoties uz 'pamata'parametrs. Pēc tam tiks izdrukāts darbinieka vārds, amats un alga.
publiskā klase con2// Deklarēt mainīgos
Stīgas nosaukums;
Stīgu stabs;
int Pamata;
dubultā HouseRent;
dubultā Medicīniskā;
dubultā transports;
dubultā Alga;
// Parametrēts konstruktors
con2 (virknes nosaukums, virknes ziņojums, int pamata)
šo.nosaukums = nosaukums;
šo.post = post;
šo.Pamata = pamata;
šo.HouseRent = pamata * 0.3;
šo.Medicīniskais = pamata * 0.2;
šo.Transports = pamata * 0.1;
Alga = pamata + HouseRent + Medicīnas + Transports;
// galvenā () metode
public static void main (String [] args)
// Izveidojiet objektu
con2 obj = new con2 ("Mir Sabbir", "Grāmatvedis", 65000);
// Izdrukājiet objekta rekvizītu vērtības
Sistēma.ārā.drukāt ("Darbinieka vārds:" + obj.nosaukums + "\ n" + "Ziņa:" + obj.pastu +
"\ n" + "Alga: TK" + obj.Alga);
Izeja:
Šis attēls parāda koda izvadi. Šeit objekta izveides paziņojumā ir norādīts darbinieka vārds, amats un pamatalga. Šeit tiek izdrukāta kopējā alga, vārds un amats.
3. piemērs: izveidojiet konstruktora ķēdi
Ir svarīgi zināt par objektorientētās programmēšanas mantošanas iezīmi, lai izprastu konstruktoru ķēdes jēdzienu. Kad tiek izveidota jauna klase, mantojot citu klasi, to sauc par mantojumu. Šajā gadījumā visas vecāku vai pamatklases īpašības ir pieejamas no bērna vai atvasinātās klases. Kad tiek izveidots bērnu klases objekts, tas pirms savas konstruktora izsaukšanas automātiski izsauc vecāku klases konstruktoru. The 'super ()'metodi izmanto citās valodās, lai izsauktu vecāku konstruktoru, bet Java kompilators šo metodi izsauc automātiski. Šādu konstruktoru izmantošanu sauc par konstruktoru ķēdēšanu, un šis process ir parādīts šajā piemērā. Šeit vecāku klases nosaukums ir 'vecāks"un bērnu klases nosaukums ir"con3."Ir vēl viena metode ar nosaukumu"apvienot ()'bērnu klasē, kurā apvienotas vecāku un bērnu konstruktoriem piešķirtās vērtības.
klases vecāks// Deklarēt mainīgo
String strVal;
// Vecāku konstruktors
vecāks ()
Sistēma.ārā.println ("Vecāku konstruktoru sauc");
strVal = "Man patīk";
publiskā klase con3 paplašina vecāku
// Deklarēt mainīgo
Stīgu bērnsStrVal;
// Bērnu konstruktors
con3 ()
Sistēma.ārā.println ("Bērnu konstruktoru sauc");
childStrVal = strVal + "Java programmēšana";
// Vēl viena virkņu apvienošanas metode
Stīgu kombains ()
atgriezt šo.childStrVal;
// galvenā () metode
public static void main (String [] args)
// Izveidojiet objektu
con3 obj = jauns con3 ();
// Izdrukājiet objekta rekvizītu vērtības
Sistēma.ārā.izdruka (obj.apvienot ());
Izeja:
Šis attēls parāda koda izvadi. Pirmais ziņojums tiek izdrukāts no vecākā konstruktora, bet otrais - no bērna konstruktora. Pēdējais ziņojums tiek izdrukāts, zvanot uzapvienot ()metode.
Secinājums
Konstruktora jēdziens un dažādu konstruktoru izmantošana ir paskaidrota šajā apmācībā, izmantojot vienkāršus Java kodu piemērus, kas iesācējiem var sekot. Cerams, ka šie piemēri ir palīdzējuši jums izprast Java konstruktora pamatus.