Mikä on Java-objekti ja miten sitä käytetään?



Java-objekti on reaalimaailman kokonaisuus, jolla on omat ominaisuutensa ja käyttäytymisensä. Opi kaikki Java-kohteista ja niiden luomisesta monin tavoin.

Java on . Toisin sanoen melkein kaikkea Java-ohjelmaa käsitellään esineenä. Siksi Java-ohjelmoinnin aikana tulisi tietää kaikki mahdolliset tapoja luoda objekteja Java-sovelluksessa. Mutta ennen kuin sukelat syvemmälle esineisiin, sinun on tiedettävä sen käsite Java-luokat ja kuinka esineet liittyvät niihin.

Tässä viestissä käsitellään 5 erilaista tapaa luoda esineitä Java: ssa ja ymmärtää kaikki olennaiset käsitteet, joita tarvitaan menetelmien ymmärtämiseen.





mikä on blockchain-kehittäjä

  1. Luo objekteja käyttämällä uutta avainsanaa
  2. Luo objekteja käyttämällä klooni () -menetelmää
  3. Luo objekteja luokan newInstance () -menetelmällä
  4. Luo objekteja deserialisaation avulla
  5. Luo objekteja rakentajaluokan newInstance () -menetelmällä

Aloitetaan.



Luo objekteja käyttämällä uutta avainsanaa

Java-ohjelmoinnin aikana olet ehkä löytänyt uuden avainsanan. Se on avainsana, jota käytetään luomaan objekti, jolle varataan dynaamisesti muistia, ts. Muisti näille kohteille osoitetaan ajon aikana. Ja tätä dynaamista allokointia tarvitaan suurimman osan ajasta esineitä luodessa. Siksi tätä menetelmää käytetään useammin kuin toisia.

Syntaksi : ClassName ObjectName = uusi classConstructor ()



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

Tuotos- Hei maailma

Tätä menetelmää objektien luomiseksi Java: ssa voidaan käyttää minkä tahansa vaaditun luokan rakentajan kanssa, jos luokassa on enemmän kuin 1 rakentaja .

Luo objekteja clone () -menetelmällä

Entä jos objektin, jonka haluamme luoda, pitäisi olla kopio jo olemassa olevasta ? Siinä tapauksessa voimme käyttää clone () -menetelmää. clone () on osa Object-luokkaa, mutta sitä ei voida käyttää suoraan, koska se on suojattu menetelmä.

clone () -menetelmää voidaan käyttää vasta Cloneable-käyttöliittymän ja käsittelyn käyttöönoton jälkeenCloneNotSupportedException.

class Message toteuttaa Cloneable {String FirstString Message () {this.FirstString = 'Hello World'} public Object clone () heittää CloneNotSupportedException {return super.clone ()}} public class ObjectCreation {public static void main (String [] argumentit) heittää CloneNotSupportedException {Viesti FirstObj = uusi viesti () System.out.println (FirstObj.FirstString) Viesti SecondObj = (Viesti) FirstObj.clone () System.out.println (SecondObj.FirstString) SecondObj.FirstString = 'Tervetuloa ensimmäiseen maailmaan' ohjelmoinnin 'System.out.println (SecondObj.FirstString) System.out.println (FirstObj.FirstString)}}

Tuotos-

Hei maailma

Hei maailma

Tervetuloa ohjelmoinnin maailmaan

Hei maailma

Edellä olevassa ohjelmassa loimme kopion jo olemassa olevasta objektistamme. Varmistaaksesi, että molemmat eivät osoita samaa muistipaikkaa, oli välttämätöntä muuttaa toisen objektin ”FirstString” -arvo ja tulostaa sen arvo molemmille kohteille.

java c ++ python

Luo objekteja luokan Class newInstance () -menetelmällä

Tätä menetelmää ei käytetä usein esineiden luomiseen. Tätä objektin luontimenetelmää käytetään, jos tiedämme luokan nimen ja oletusrakentaja on luonteeltaan julkinen. Tämän menetelmän käyttämiseksi objektien luomisessa meidän on käsiteltävä 3 poikkeusta

ClassNotFoundException- Tämä poikkeus tapahtuu, jos JVM ei löydä argumenttina lähetettyä luokkaa.

InstantiationException- Tämä poikkeus tapahtuu, jos annettu luokka ei sisällä oletusrakentajaa.

Laiton pääsyException- Tämä poikkeus tapahtuu, jos meillä ei ole pääsyä määritettyyn luokassa .

Kun olemme huolehtineet näistä poikkeuksista, meillä on hyvä mennä.

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

Tuotos- Hei maailma

Luo objekteja deserialisaation avulla

Java-ohjelmassa Serialisointia käytetään muuntaa objektin nykyinen tila tavuvirraksi. deserialisaatio on täsmälleen päinvastainen, kun luomme kohteen uudelleen tavuvirralla. Sarjaliikenneprosessia varten on otettava käyttöön Serializable-käyttöliittymä. Poikkeusten käsittely on tehtävä objektien luomiseksi tällä menetelmällä.

ObjectInputStream objectInputStream = uusi ObjectInputStream (inputStream) Luokan nimi object = (luokan nimi) objectInputStream.readObject ()

Luo objekteja Constructor-luokan newInstance () -menetelmällä

Näimme luokan Class uuden menetelmän, jota käytimme luomaan objektia. Samoin luokan konstruktori koostuu myös newInstance () -menetelmästä, jota voidaan käyttää objektien luomiseen. Muut voivat oletusrakentajat tämän menetelmän avulla kutsua myös parametrisoidut rakentajat .

tuo 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 [] argumentit) { kokeile {Rakentaja konstruktori = ObjectCreation.class.getDeclaredConstructor () ObjectCreation objectCreation = constructor.newInstance () objectCreation.changeMessage ('Tervetuloa ohjelmointimaailmaan') System.out.println (objectCreation.FirstString)} catch (Poikkeus e) { e.printStackTrace ()}}}

Tuotos-

Tervetuloa ohjelmoinnin maailmaan

Nämä ovat 5 erilaista tapaa luoda esineitä joitakin käytetään useammin kuin toisia. Jokaisella menetelmällä on omat etunsa ja haittansa. Loppujen lopuksi valinta on sinun.

mikä on java-instanssimuuttuja

Java on mielenkiintoinen kieli, mutta siitä tulee hankalaa, jos perusteet eivät ole selkeitä. Voit aloittaa oppimisen ja hallitsemalla kaikki Java-tekniikkaan liittyvät taidot ilmoittautua ja vapauta Java-kehittäjä sinussa.

Onko sinulla kysymys meille? mainitse tämä tämän 'Java-objektit' -artikkelin kommenttiosassa ja otamme sinuun yhteyttä mahdollisimman pian.