Java konstruktora metode
Izveidojiet objektu ar Java konstruktoru
Emīlija Manevska / Getty Images
Java konstruktors izveido jaunu jau definēta objekta gadījumu. Šajā rakstā ir apskatīts, kā izmantot Java konstruktora metodes personas objekta izveidei.
Piezīme: Šajā piemērā vienā mapē ir jāizveido divi faili: Person.java definē Personu klasi un PersonPiemērs.java satur galvenā metode kas rada Personas objektus.
Konstruktora metode
Sāksim, izveidojot Personas klasi, kurā ir četri privātie lauki: vārds, uzvārds, adrese un lietotājvārds. Šie lauki ir privāti mainīgie, un to vērtības kopā veido objekta stāvokli. Mēs esam pievienojuši arī vienkāršākās konstruktora metodes:
|_+_||_+_|Konstruktora metode ir līdzīga jebkurai citai publiskai metodei, izņemot to, ka tai ir tāds pats nosaukums kā klasei, un tā nevar atgriezt vērtību. Tam var būt neviens parametrs, viens vai vairāki parametri.
Pašlaik mūsu konstruktora metode neko nedara, un ir īstais laiks apsvērt, ko tas nozīmē objekta Person sākotnējam stāvoklim. Ja mēs atstājām lietas tā, kā tās ir, vai mēs savā Personas klasē neiekļāvām konstruktora metodi (in Java jūs varat definēt klasi bez tās), tad laukiem nebūtu vērtību — un mēs noteikti vēlamies, lai mūsu personai būtu vārds un adrese, kā arī citas īpašības. Ja domājat, ka pastāv iespēja, ka jūsu objekts var netikt izmantots, kā jūs gaidāt, un lauki var netikt inicializēti, kad objekts tiek izveidots, vienmēr definējiet tos ar noklusējuma vērtību:
|_+_||_+_|Parasti, lai nodrošinātu konstruktora metodes noderīgumu, mēs to izstrādājam tā, lai tiktu sagaidīti parametri. Vērtības, kas tiek nodotas caur šiem parametriem, var izmantot, lai iestatītu privāto lauku vērtības:
|_+_||_+_|Mūsu konstruktora metode tagad paredz, ka tai tiks nodotas četru virkņu vērtības. Pēc tam tos izmanto, lai iestatītu objekta sākotnējo stāvokli. Mēs esam arī pievienojuši jaunu metodi ar nosaukumu displayPersonDetails() lai mēs varētu redzēt objekta stāvokli pēc tā izveidošanas.
Konstruktora metodes izsaukšana
Atšķirībā no citām objekta metodēm, konstruktora metode ir jāizsauc, izmantojot atslēgvārdu 'new':
|_+_||_+_|
Lūk, ko mēs izdarījām:
- Lai izveidotu jaunu Personas objekta instanci, vispirms definējam Personas tipa mainīgo, kas glabās objektu. Šajā piemērā mēs to saucam Deivs .
- Vienlīdzības zīmes otrā pusē mēs izsaucam savas klases Personas konstruktora metodi un nododam tai četras virknes vērtības. Mūsu konstruktora metode izmantos šīs četras vērtības un iestatīs personas objekta sākotnējo stāvokli: firstName = 'Dave', lastName = 'Davidson', address = '12 Main St', username = 'DDavidson'.
Ievērojiet, kā mēs esam pārgājuši uz Java galveno klasi, lai izsauktu personu objektu. Strādājot ar objektiem, programmas aptvers vairāki .java faili . Noteikti saglabājiet tos tajā pašā mapē. Lai kompilētu un palaistu programmu, vienkārši kompilējiet un palaidiet Java galvenā klase failu (t.i., PersonPiemērs.java ). Java kompilators ir pietiekami gudrs, lai saprastu, ka vēlaties kompilēt Person.java failu, jo tas var redzēt, ka esat to izmantojis PersonExample klasē.
Parametru nosaukšana
Java kompilators tiek sajaukts, ja konstruktora metodes parametriem ir tādi paši nosaukumi kā privātajiem laukiem. Šajā piemērā varat redzēt, ka mēs esam tos nošķīruši, pirms parametriem pievienojot vārdu 'persona'. Ir vērts pieminēt, ka ir vēl viens veids. Tā vietā mēs varam izmantot atslēgvārdu 'šo':
|_+_||_+_|Atslēgvārds “this” norāda Java kompilatoram, ka mainīgajam, kuram jāpiešķir vērtība, ir tas, ko nosaka klase, nevis parametrs. Tas ir programmēšanas stila jautājums, taču šī metode palīdz mums definēt konstruktora parametrus, neizmantojot vairākus nosaukumus.
Vairāk nekā viena konstruktora metode
Veidojot objektu klases, jūs neaprobežojaties ar tikai vienas konstruktora metodes izmantošanu. Varat izlemt, ka ir vairāki veidi, kā objektu var inicializēt. Vienīgais ierobežojums vairāk nekā vienas konstruktora metodes izmantošanai ir tas, ka parametriem ir jāatšķiras.
Iedomājieties, ka brīdī, kad veidojam objektu Persona, mēs varētu nezināt lietotājvārdu. Pievienosim jaunu konstruktora metodi, kas iestata personas objekta stāvokli, izmantojot tikai vārdu, uzvārdu un adresi:
|_+_||_+_|
Ņemiet vērā, ka otro konstruktora metodi sauc arī par “Personu”, un tā arī neatgriež vērtību. Vienīgā atšķirība starp to un pirmā konstruktora metodi ir parametri – šoreiz tā sagaida tikai trīs virknes vērtības: vārds, uzvārds un adrese.
Tagad mēs varam izveidot personu objektus divos dažādos veidos:
|_+_||_+_|Persona Deivs tiks izveidots ar vārdu, uzvārdu, adresi un lietotājvārdu. Persona Džims, tomēr nesaņems lietotājvārdu, t.i., lietotājvārds būs tukša virkne: lietotājvārds = ''.
Īss kopsavilkums
Konstruktora metodes tiek izsauktas tikai tad, kad tiek izveidots jauns objekta gadījums. Viņi:
- Jābūt tādam pašam nosaukumam kā klasei
- Neatgriezt vērtību
- Var būt neviena, viena vai daudzi parametri
- Var numurēt vairāk nekā vienu, ja katrai konstruktora metodei ir atšķirīga parametru kopa
- Var piederēt parametru nosaukumi tas pats, kas privātie lauki, kamēr tiek izmantots atslēgvārds 'šis'.
- Tiek izsaukti, izmantojot atslēgvārdu 'jauns'.