Kas yra „Java“ objektas ir kaip jį naudoti?



„Java“ objektas yra realaus pasaulio esybė, turinti savo ypatybes ir elgesį. Sužinokite viską apie „Java“ objektus ir kaip juos kurti įvairiais būdais.

„Java“ yra . Kitaip tariant, beveik viskas „Java“ yra traktuojama kaip objektas. Taigi, programuojant „Java“, reikia žinoti visus galimus „Java“ objektų kūrimo būdus. Tačiau prieš nerdami giliau į daiktus, turite žinoti jo sąvoką „Java“ klasės ir kaip objektai yra susiję su jais.

Šiame įraše aptarsime 5 skirtingus „Java“ objektų kūrimo būdus ir suprasime visas esmines sąvokas, reikalingas metodams suprasti.





  1. Kurkite objektus naudodami žodį „naujas“
  2. Kurkite objektus naudodami „clone ()“ metodą
  3. Kurkite objektus naudodami klasės metodą newInstance ()
  4. Kurkite objektus naudodamiesi deserializacija
  5. Kurkite objektus naudodami konstruktoriaus klasės newInstance () metodą

Pradėkime.



Kurkite objektus naudodami žodį „naujas“

Programuodami „Java“ galite neabejotinai aptikti „naują“ raktinį žodį. Tai raktinis žodis, naudojamas kuriant objektą, kuriam dinamiškai priskiriama atmintis, t. Y. Atmintis šiems objektams priskiriama vykdymo metu. Šis dinaminis paskirstymas dažniausiai reikalingas kuriant objektus. Taigi šis metodas naudojamas dažniau nei kiti.

c ++ rūšiavimas ()

Sintaksė : 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)}}

Išvestis Labas pasauli

Šis „Java“ objektų kūrimo būdas gali būti naudojamas su bet kuriuo reikiamos klasės konstruktoriumi, jei klasėje yra daugiau nei 1 statybininkas .

Sukurkite objektus naudodami „clone ()“ metodą

Ką daryti, jei objektas, kurį norime sukurti, turėtų būti jau esančio objekto kopija ? Tokiu atveju galime naudoti klono () metodą. „clone“) yra „Object“ klasės dalis, tačiau jo negalima tiesiogiai naudoti, nes tai yra apsaugotas metodas.

„clone ()“ metodas gali būti naudojamas tik įdiegus „Cloneable“ sąsają ir tvarkant„CloneNotSupportedException“.

split funkcija Java pavyzdyje
klasės pranešimas įgyvendina Cloneable {String FirstString Message () {this.FirstString = 'Hello World'} public Object clone () meta CloneNotSupportedException {return super.clone ()}} public class ObjectCreation {public static void main (String [] argumentai) meta „CloneNotSupportedException“ {Pranešimas FirstObj = naujas pranešimas () System.out.println (FirstObj.FirstString) Pranešimas SecondObj = (Žinutė) FirstObj.clone () System.out.println (SecondObj.FirstString) SecondObj.FirstString = 'Sveiki atvykę į „World to World programavimo 'System.out.println (SecondObj.FirstString) System.out.println (FirstObj.FirstString)}}

Išvestis

Labas pasauli

Labas pasauli

Sveiki atvykę į programavimo pasaulį

Labas pasauli

Pirmiau pateiktoje programoje mes sukūrėme savo jau esamo objekto kopiją. Norėdami įsitikinti, kad tiek nerodo į tą pačią atminties vietą, buvo būtina pakeisti antrojo objekto „FirstString“ vertę ir tada atspausdinti jo vertę abiem objektams.

Kurkite objektus naudodami „Class Class“ metodą newInstance ()

Šis metodas nėra dažnai naudojamas kuriant objektus. Šis objekto kūrimo metodas naudojamas, jei žinome klasės pavadinimą ir numatytasis konstruktorius yra viešo pobūdžio. Norėdami naudoti šį metodą objektams kurti, turime elgtis su 3 išimtimis

„ClassNotFoundException-“ Ši išimtis įvyksta, jei JVM negali rasti klasės, kuri perduodama kaip argumentas.

InstantiationException- Ši išimtis įvyksta, jei nurodytoje klasėje nėra numatytojo konstruktoriaus.

Neteisėta „AccessException“ Ši išimtis įvyksta, jei neturime prieigos prie nurodytos klasė .

antrosios pakopos diplomas ir magistro laipsnis

Pasirūpinę šiomis išimtimis, mes galime eiti.

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 ()}}}}

Išvestis Labas pasauli

Kurkite objektus naudodamiesi deserializacija

„Java“ serializacija naudojama dabartinei objekto būsenai paversti baitų srautu. deserializacija yra visiškai priešinga, nes objektą atkuriame naudodami baitų srautą. Serializavimo procesui turime įdiegti „Serializable“ sąsają. Išimčių tvarkymas turi būti atliekamas kuriant objektus naudojant šį metodą.

ObjectInputStream objectInputStream = naujas ObjectInputStream (inputStream) Klasės pavadinimas objektas = (klasės pavadinimas) objectInputStream.readObject ()

Kurkite objektus naudodami konstruktoriaus klasės metodą newInstance ()

Mes pamatėme klasės „newInstance“ metodą, kurį naudojome kurdami objektą. Panašiai klasės konstruktorius taip pat susideda iš „newInstance ()“ metodo, kurį galima naudoti kuriant objektus. Kiti gali numatytuosius konstruktorius šio metodo pagalba, kuriuos taip pat galime iškviesti parametruojami konstruktoriai .

importuoti 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 [] argumentai) { pabandykite {Constructor constructor = ObjectCreation.class.getDeclaredConstructor () ObjectCreation objectCreation = constructor.newInstance () objectCreation.changeMessage („Sveiki atvykę į programavimo pasaulį“) System.out.println (objectCreation.FirstString)} gaudyti (išimtis e) { e.printStackTrace ()}}}

Išvestis

Sveiki atvykę į programavimo pasaulį

Tai yra 5 skirtingi objektų kūrimo būdai kai kurie naudojami dažniau nei kiti. Kiekvienas metodas turi savo privalumų ir trūkumų. Galų gale, pasirinkimas yra jūsų.

„Java“ yra įdomi kalba, tačiau ji tampa kebli, jei nėra aiškūs pagrindai. Norėdami pradėti, mokykitės ir įvaldykite visus įgūdžius, susijusius su „Java“ technologija ir išlaisvinkite savyje java kūrėją.

Turite mums klausimą? paminėkite tai straipsnio „Java objektai“ komentarų skyriuje ir mes kuo greičiau susisieksime su jumis.