A Java egy . Más szavakkal, a Java-ban szinte mindent objektumként kezelünk. Ennélfogva a Java-ban történő programozás során ismerni kell az objektumok Java-ban történő létrehozásának minden lehetséges módját. De mielőtt mélyebben belemerülne a tárgyakba, ismernie kell a fogalmát Java osztályok és hogy az objektumok hogyan kapcsolódnak hozzájuk.
Ebben a bejegyzésben a Java-ban létrehozott objektumok létrehozásának 5 különböző módját ismertetjük, és megértjük a módszerek megértéséhez szükséges összes alapvető fogalmat.
- Hozzon létre objektumokat az „új” kulcsszóval
- Objektumok létrehozása clone () módszerrel
- Hozzon létre objektumokat az osztály newInstance () metódusával
- Hozzon létre objektumokat deserializációval
- Hozzon létre objektumokat a konstruktor osztály newInstance () metódusával
Lássunk neki.
hogyan kell használni a goto-t a pythonban
Hozzon létre objektumokat az „új” kulcsszóval
Java programozás közben biztosan találkozhat az „új” kulcsszóval. Ez egy kulcsszó olyan objektum létrehozásához, amelyet dinamikusan osztanak ki memóriába, vagyis futás közben hozzárendelik az ezekhez az objektumokhoz tartozó memóriát. Erre a dinamikus allokációra legtöbbször szükség van objektumok létrehozása közben. Ezért ezt a módszert gyakrabban használják, mint másokat.
Szintaxis : ClassName ObjectName = új classConstructor ()
public class ObjectCreation {String FirstString = 'Hello World' public static void main (String [] args) {ObjectCreation obj = new ObjectCreation () System.out.println (obj.FirstString)}}
Kimenet- Helló Világ
Ez a módszer az objektumok Java-ban történő létrehozására a szükséges osztály bármely konstruktorával használható, ha az osztály 1-nél többel rendelkezik építész .
Objektumok létrehozása clone () módszerrel
Mi van, ha a létrehozni kívánt objektumnak egy már létező másolatának kell lennie ? Ebben az esetben használhatjuk a clone () metódust. A clone () az Object osztály része, de nem használható közvetlenül, mivel ez egy védett módszer.
A clone () metódus csak a Cloneable felület és a kezelés végrehajtása után használhatóCloneNotSupportedException.
class Message megvalósítja a Cloneable {String FirstString Message () {this.FirstString = 'Hello World'} nyilvános objektumklón () dobja a CloneNotSupportedException {return super.clone ()}} public class ObjectCreation {public static void main (String [] argument) dobja a CloneNotSupportedException {Üzenet FirstObj = új üzenet () System.out.println (FirstObj.FirstString) Üzenet SecondObj = (Üzenet) FirstObj.clone () System.out.println (SecondObj.FirstString) SecondObj.FirstString = 'Üdvözöljük programozás 'System.out.println (SecondObj.FirstString) System.out.println (FirstObj.FirstString)}}
Kimenet-
Helló Világ
Helló Világ
Üdvözöljük a programozás világában
A fenti programban létrehoztunk egy már létező objektum másolatát. Annak érdekében, hogy mind a nem ugyanarra a memóriahelyre mutatnak, elengedhetetlen volt a második objektum „FirstString” értékének megváltoztatása, majd mindkét objektumra vonatkozó értékének kinyomtatása.
Hozzon létre objektumokat a class osztály newInstance () módszerével
Ezt a módszert nem gyakran használják objektumok létrehozására. Az objektum létrehozásának ezt a módszerét akkor alkalmazzuk, ha ismerjük az osztály nevét és a alapértelmezett konstruktor nyilvános jellegű. Ennek a módszernek az objektumok létrehozásához 3 kivételt kell kezelnünk
ClassNotFoundException- Ez a kivétel akkor fordul elő, ha a JVM nem tudja megtalálni az argumentumként átadott osztályt.
hogyan lehet lekérni egy tömb hosszát javascriptben
InstantiationException- Ez a kivétel akkor fordul elő, ha az adott osztály nem tartalmaz alapértelmezett konstruktort.
IllegalAccessException- Ez a kivétel akkor fordul elő, ha nincs hozzáférésünk a megadotthoz osztály .
Amint gondoskodunk ezekről a kivételekről, jót tehetünk.
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 ()}}}}
Kimenet- Helló Világ
Hozzon létre objektumokat deserializációval
A Java-ban a szerializálást használják az objektum aktuális állapotának bájtfolyammá alakítására. a deszerializálás éppen az ellenkezője, mivel az objektumot a bájtfolyam segítségével állítjuk elő. A sorozatosítás folyamatához meg kell valósítanunk a Serializable interfészt. Kivételek kezelése objektumok létrehozásával történhet ezzel a módszerrel.
hogyan lehet megszerezni a tömb hosszát javascriptben
ObjectInputStream objectInputStream = új ObjectInputStream (inputStream) Osztálynév objektum = (osztálynév) objectInputStream.readObject ()
Hozzon létre objektumokat a Constructor osztály newInstance () módszerével
Láttuk a class osztály newInstance metódusát, amelyet egy objektum létrehozásához használtunk. Hasonlóképpen, az osztály konstruktor is egy newInstance () metódusból áll, amely objektumok létrehozására használható. Más alapértelmezett kivitelezők is ennek a módszernek a segítségével hívhatjuk meg paraméterezett konstruktorok .
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) { próbáld ki a {Constructor constructor = ObjectCreation.class.getDeclaredConstructor () ObjectCreation objectCreation = constructor.newInstance () objectCreation.changeMessage ('Üdvözöljük a programozás világában') System.out.println (objectCreation.FirstString)} catch (e kivétel) { e.printStackTrace ()}}}
Kimenet-
Üdvözöljük a programozás világában
Ez az objektumok létrehozásának 5 különböző módja némelyiket gyakrabban használják, mint másokat. Minden módszernek megvannak a maga előnyei és hátrányai. Végül a választás a tiéd.
A Java egy érdekes nyelv, de bonyolulttá válik, ha az alapok nem tisztázottak. A kezdéshez a java technológiával kapcsolatos összes készség elsajátítása és elsajátítása beiratkozik a és szabadítsa fel benned a java fejlesztőt.
Van egy kérdésünk? kérjük, említse meg ezt a cikket a „Java-ban található cikkek” megjegyzések részben, és a lehető leghamarabb kapcsolatba lépünk Önnel.