Kaj je objekt v Javi in ​​kako ga uporabljati?



Predmet v Javi je entiteta iz resničnega sveta, ki ima svoje lastnosti in vedenje. Izvedite vse o predmetih v Javi in ​​kako jih ustvariti na več načinov.

Java je . Z drugimi besedami, skoraj vse v Javi se obravnava kot objekt. Zato je treba med programiranjem v Javi poznati vse možne načine ustvarjanja predmetov v Javi. Toda preden se poglobite v predmete, morate poznati koncept Razredi Java in kako so predmeti z njimi povezani.

V tej objavi bomo obravnavali 5 različnih načinov ustvarjanja predmetov v Javi in ​​razumeli vse bistvene koncepte, potrebne za razumevanje metod.





  1. Ustvarite predmete s ključno besedo 'new'
  2. Ustvarjanje predmetov z uporabo metode clone ()
  3. Ustvarite predmete z uporabo metode razreda newInstance ()
  4. Ustvarite predmete z uporabo deserializacije
  5. Ustvarite predmete z uporabo metode konstruktorja newInstance ()

Začnimo.



plitka kopija in globoka kopija v javi

Ustvarite predmete s ključno besedo 'new'

Med programiranjem v Javi ste morda zagotovo naleteli na ključno besedo 'nova'. To je ključna beseda, ki se uporablja za ustvarjanje predmeta, ki mu je dinamično dodeljen pomnilnik, tj. Pomnilnik je tem objektom dodeljen med izvajanjem. In to dinamično dodeljevanje je potrebno večino časa med ustvarjanjem predmetov. Zato se ta metoda uporablja pogosteje kot druge.

Sintaksa : ClassName ObjectName = new classConstructor ()



javni razred ObjectCreation {String FirstString = 'Hello World' public static void main (String [] args) {ObjectCreation obj = new ObjectCreation () System.out.println (obj.FirstString)}}

Izhod- Pozdravljen, svet

Ta način ustvarjanja predmetov v Javi se lahko uporablja s katerim koli konstruktorjem zahtevanega razreda, če ima razred več kot 1 gradbenik .

Ustvari predmete z metodo clone ()

Kaj pa, če bi moral biti objekt, ki ga želimo ustvariti, kopija že obstoječega ? V tem primeru lahko uporabimo metodo clone (). clone () je del razreda Object, vendar ga ni mogoče uporabiti neposredno, saj je zaščitena metoda.

clone () je mogoče uporabiti šele po izvedbi Cloneable vmesnika in ravnanjuCloneNotSupportedException.

class Message implementira Cloneable {String FirstString Message () {this.FirstString = 'Hello World'} javni objektni klon () vrže CloneNotSupportedException {return super.clone ()}} javni razred ObjectCreation {public static void main (String [] args) vrže CloneNotSupportedException {Sporočilo FirstObj = novo sporočilo () System.out.println (FirstObj.FirstString) Sporočilo SecondObj = (Sporočilo) FirstObj.clone () System.out.println (SecondObj.FirstString) SecondObj.FirstString = 'Dobrodošli v svetu programiranja 'System.out.println (SecondObj.FirstString) System.out.println (FirstObj.FirstString)}}

Izhod-

Pozdravljen, svet

Pozdravljen, svet

Dobrodošli v svetu programiranja

Pozdravljen, svet

V zgornjem programu smo ustvarili kopijo našega že obstoječega predmeta. Da se prepričate, da sta oba ne kažejo na isto lokacijo pomnilnika, je bilo bistveno spremeniti vrednost 'FirstString' za drugi objekt in nato natisniti njegovo vrednost za oba predmeta.

Ustvarite predmete z uporabo metode newInstance () razreda Class

Ta metoda se ne uporablja pogosto za ustvarjanje predmetov. Ta metoda ustvarjanja predmeta se uporablja, če poznamo ime razreda in privzeti konstruktor je javnega značaja. Za uporabo te metode za ustvarjanje predmetov moramo obdelovati 3 izjeme

ClassNotFoundException- Ta izjema se zgodi, če JVM ne more najti razreda, ki je poslan kot argument.

InstantiationException- Ta izjema se zgodi, če dani razred ne vsebuje privzetega konstruktorja.

IllegalAccessException- Ta izjema se zgodi, če nimamo dostopa do navedenega razred .

Ko enkrat poskrbimo za te izjeme, smo pripravljeni iti.

class ObjectCreation {String FirstString = 'Hello World' public static void main (String [] args) {try {Class Message = Class.forName ('ObjectCreation') ObjectCreation obj = (ObjectCreation) Message.newInstance () System.out.println (obj.FirstString)} catch (ClassNotFoundException e) {e.printStackTrace ()} catch (InstantiationException e) {e.printStackTrace ()} catch (IllegalAccessException e) {e.printStackTrace ()}}}

Izhod- Pozdravljen, svet

Ustvarite predmete z uporabo deserializacije

V Javi se serializacija uporablja za pretvorbo trenutnega stanja predmeta v bajtni tok. deserializacija je ravno nasprotno, saj objekt ponovno ustvarimo z uporabo bajtnega toka. Za postopek serializacije moramo uporabiti serijski vmesnik. Izjema je treba obdelati za ustvarjanje predmetov s to metodo.

ObjectInputStream objectInputStream = new ObjectInputStream (inputStream) Classname object = (classname) objectInputStream.readObject ()

Ustvarite predmete z uporabo metode newInstance () razreda Constructor

Videli smo metodo newInstance razreda Class, ki smo jo uporabili za ustvarjanje predmeta. Podobno je tudi konstruktor razreda sestavljen iz metode newInstance (), ki jo lahko uporabimo za ustvarjanje predmetov. Drugi lahko privzeti konstruktorji s pomočjo te metode lahko tudi pokličemo parametrizirani konstruktorji .

import java.lang.reflect. * javni razred ObjectCreation {private String FirstString = 'Hello World' ObjectCreation () {} public void changeMessage (String message) {this.FirstString = message} public static void main (String [] args) { poskusite {Constructor constructor = ObjectCreation.class.getDeclaredConstructor () ObjectCreation objectCreation = constructor.newInstance () objectCreation.changeMessage ('Dobrodošli v svetu programiranja') System.out.println (objectCreation.FirstString)} catch (Izjema e) { e.printStackTrace ()}}}

Izhod-

Dobrodošli v svetu programiranja

To je 5 različnih načinov ustvarjanja predmetov v nekatere se uporabljajo pogosteje kot druge. Vsaka metoda ima svoje prednosti in slabosti. Na koncu je izbira vaša.

Java je zanimiv jezik, vendar postane zapleteno, če osnove niso jasne. Za začetek se vaše učenje in obvladovanje vseh veščin, povezanih s tehnologijo java, vpiše v in sprostite razvijalca jave v sebi.

Imate vprašanje za nas? prosimo, omenite to v oddelku za komentarje tega članka o 'objektih v Javi' in takoj se vam bomo oglasili.