Mis on Java objekt ja kuidas seda kasutada?



Java objekt on reaalse maailma üksus, millel on oma vara ja käitumine. Siit saate teada kõike Java-objektide ja nende mitmel viisil loomise kohta.

Java on . Teisisõnu, peaaegu kõike Java-s käsitletakse objektina. Seega peaks Java-programmeerimise ajal teadma kõiki võimalikke viise Java-objektide loomiseks. Kuid enne objektidesse sügavamale sukeldumist peate teadma selle mõiste Java klassid ja kuidas objektid on nendega seotud.

Selles postituses käsitleme 5 erinevat viisi Java-objektide loomiseks ja mõistame kõiki meetodite mõistmiseks vajalikke olulisi mõisteid.





  1. Looge objekte uue märksõna abil
  2. Objektide loomine meetodi kloon () abil
  3. Objektide loomiseks kasutage klassi newInstance () meetodit
  4. Deserialiseerimise abil saate objekte luua
  5. Objektide loomiseks kasutage konstruktorklassi meetodit newInstance ()

Alustame.



Looge objekte uue märksõna abil

Java-programmeerimise ajal võite kindlasti kohata ‘uut’ märksõna. See on märksõna, mida kasutatakse objekti loomiseks, millele on dünaamiliselt eraldatud mälu, st nende objektide mälu määratakse käitusajal. Ja see dünaamiline eraldamine on objektide loomisel vajalik enamasti. Seetõttu kasutatakse seda meetodit sagedamini kui teisi.

Süntaks : ClassName ObjectName = new classConstructor ()



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

Väljund- Tere, Maailm

Seda Java-objektide loomise meetodit saab kasutada kõigi nõutava klassi konstruktoritega, kui klassil on rohkem kui 1 ehitaja .

Objektide loomine klooni () meetodi abil

Mis siis, kui objekt, mille soovime luua, peaks olema juba olemasoleva koopia ? Sel juhul saame kasutada klooni () meetodit. kloon () on klassi Object osa, kuid seda ei saa otseselt kasutada, kuna see on kaitstud meetod.

meetodit clone () saab kasutada alles pärast liidese Cloneable juurutamist ja käitlemistCloneNotSupportedException.

klassi teade rakendab Cloneable {String FirstString Message () {this.FirstString = 'Hello World'} avaliku objekti kloon () viskab CloneNotSupportedException {return super.clone ()}} public class ObjectCreation {public static void main (String [] args) viskab CloneNotSupportedException {Sõnum FirstObj = uus sõnum () System.out.println (FirstObj.FirstString) Sõnum SecondObj = (Sõnum) FirstObj.clone () System.out.println (SecondObj.FirstString) SecondObj.FirstString = 'Tere tulemast tootele' programmeerimise 'System.out.println (SecondObj.FirstString) System.out.println (FirstObj.FirstString)}}

Väljund-

Tere, Maailm

Tere, Maailm

Tere tulemast programmeerimismaailma

Tere, Maailm

Ülaltoodud programmis lõime koopia oma juba olemasolevast objektist. Veendumaks, et mõlemad ei osuta samale mälupunktile, oli hädavajalik teise objekti ‘FirstString’ väärtust muuta ja siis mõlema objekti jaoks selle väärtus välja printida.

Objektide loomiseks kasutage klassi Class meetodit newInstance ()

Seda meetodit ei kasutata objektide loomiseks sageli. Seda objekti loomise meetodit kasutatakse juhul, kui me teame klassi nime ja vaikekonstruktor on oma olemuselt avalik. Selle meetodi kasutamiseks objektide loomisel peame käsitlema kolme erandit

ClassNotFoundException- See erand ilmneb juhul, kui JVM ei leia argumendina edastatud klassi.

InstantiationException- See erand ilmneb juhul, kui antud klass ei sisalda vaikekonstruktorit.

IllegalAccessException- See erand ilmneb siis, kui meil pole täpsustatud andmetele juurdepääsu klass .

Kui oleme nende erandite eest hoolitsenud, on meil hea minna.

class ObjectCreation {String FirstString = 'Hello World' avalik staatiline 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 ()}}}}

Väljund- Tere, Maailm

Deserialiseerimise abil saate objekte luua

Java-s kasutatakse serialiseerimist objekti praeguse oleku teisendamiseks baidivoogudeks. deserialiseerimine on täpselt vastupidine, kuna loome objekti baidivoo abil uuesti. Jaotamisprotsessi jaoks peame juurutama Serializable liidese. Selle meetodi abil objektide loomiseks tuleb teha erandkäitlus.

goto avaldus c ++

ObjectInputStream objectInputStream = uus ObjectInputStream (inputStream) Klassinime objekt = (klassi nimi) objectInputStream.readObject ()

Objektide loomiseks kasutage klassi Constructor meetodit newInstance ()

Nägime klassi Class newInstance meetodit, mida kasutasime objekti loomiseks. Sarnaselt koosneb klassi konstruktor ka newInstance () meetodist, mida saab kasutada objektide loomiseks. Selle meetodi abil saavad teised vaikekonstruktorid ka helistada parameetriga konstruktorid .

import java.lang.reflect. * public class ObjectCreation {private String FirstString = 'Hello World' ObjectCreation () {} public void changeMessage (String message) {this.FirstString = message} public static void main (String [] args) { proovige {Constructor constructor = ObjectCreation.class.getDeclaredConstructor () ObjectCreation objectCreation = constructor.newInstance () objectCreation.changeMessage ('Tere tulemast programmeerimise maailma') System.out.println (objectCreation.FirstString)} saak (erand e) { e.printStackTrace ()}}}

Väljund-

Tere tulemast programmeerimismaailma

Need on viis erinevat viisi objektide loomiseks mõnda kasutatakse sagedamini kui teisi. Igal meetodil on oma eelised ja puudused. Lõppkokkuvõttes on valik teie.

Java on huvitav keel, kuid see muutub keeruliseks, kui põhialused pole selged. Alustamiseks registreeruge oma õppimises ja kõigi Java-tehnoloogiaga seotud oskuste omandamises ja vallandada javaarendaja sinus.

Kas teil on meile küsimus? palun mainige seda artikli 'Java objektid' kommentaaride jaotises ja võtame teiega ühendust niipea kui võimalik.