Čo je Object v Jave a ako ju používať?



Objekt v Jave je entita reálneho sveta, ktorá má svoje vlastné vlastnosti a správanie. Dozviete sa všetko o objektoch v Jave a o tom, ako ich vytvárať rôznymi spôsobmi.

Java je . Inými slovami, takmer so všetkým v Jave sa zaobchádza ako s objektom. Preto by ste pri programovaní v Jave mali poznať všetky možné spôsoby vytvárania objektov v Jave. Ale predtým, ako sa ponoríte hlbšie do objektov, musíte poznať pojem Triedy Java a ako s nimi objekty súvisia.

V tomto príspevku sa budeme venovať 5 rôznym spôsobom, ako vytvárať objekty v Jave, a porozumieť všetkým základným pojmom potrebným na pochopenie metód.





  1. Vytvárajte objekty pomocou kľúčového slova „nové“
  2. Vytváranie objektov pomocou metódy clone ()
  3. Vytvárajte objekty pomocou metódy newInstance () triedy
  4. Vytvárajte objekty pomocou deserializácie
  5. Vytvorte objekty pomocou metódy newInstance () triedy konštruktorov

Začnime.



dátová štruktúra a algoritmus v jave

Vytvárajte objekty pomocou kľúčového slova „nové“

Pri programovaní v jazyku Java sa určite môžete stretnúť s kľúčovým slovom „nové“. Je to kľúčové slovo použité na vytvorenie objektu, ktorý je dynamicky alokovaná pamäť, t. J. Pamäť týmto objektom je priradená za behu programu. A toto dynamické prideľovanie je potrebné väčšinu času pri vytváraní objektov. Preto sa táto metóda používa častejšie ako iné.

Syntax : 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ýkon- Ahoj svet

Tento spôsob vytvárania objektov v Jave je možné použiť s akýmkoľvek konštruktorom požadovanej triedy, ak má trieda viac ako 1 staviteľ .

Vytváranie objektov pomocou metódy clone ()

Čo ak by objekt, ktorý chceme vytvoriť, mala byť kópiou už existujúceho ? V takom prípade môžeme použiť metódu clone (). clone () je súčasťou triedy Object, ale nemožno ho použiť priamo, pretože ide o chránenú metódu.

metódu clone () je možné použiť až po implementácii rozhrania Cloneable a manipuláciiCloneNotSupportedException.

class Message implements Cloneable {String FirstString Message () {this.FirstString = 'Hello World'} public Object clone () throws CloneNotSupportedException {return super.clone ()}} public class ObjectCreation {public static void main (String [] args) hodí CloneNotSupportedException {Správa FirstObj = nová správa () System.out.println (FirstObj.FirstString) Správa SecondObj = (správa) FirstObj.clone () System.out.println (SecondObj.FirstString) SecondObj.FirstString = 'Vitajte na svete programovania 'System.out.println (SecondObj.FirstString) System.out.println (FirstObj.FirstString)}}

Výkon-

Ahoj svet

Ahoj svet

Vitajte vo svete programovania

Ahoj svet

Vo vyššie uvedenom programe sme vytvorili kópiu nášho už existujúceho objektu. Aby ste sa uistili, že neukazujú na rovnaké miesto v pamäti, bolo nevyhnutné zmeniť hodnotu parametra „FirstString“ pre druhý objekt a potom vytlačiť jeho hodnotu pre oba objekty.

Vytváranie objektov pomocou metódy newInstance () triedy Class

Táto metóda sa na vytváranie objektov nepoužíva často. Táto metóda vytvárania objektu sa používa, ak poznáme názov triedy a znak predvolený konštruktor má verejnú povahu. Ak chcete použiť túto metódu na vytváranie objektov, musíme zvládnuť 3 výnimky

ClassNotFoundException- Táto výnimka nastane, ak JVM nedokáže nájsť triedu, ktorá sa odovzdáva ako argument.

aké je použitie programovania zásuviek

InstantiationException- Táto výnimka nastane, ak daná trieda neobsahuje predvolený konštruktor.

IllegalAccessException- Táto výnimka nastáva, ak nemáme prístup k zadaným údajom trieda .

Keď sa postaráme o tieto výnimky, je dobré ísť.

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

Výkon- Ahoj svet

Vytvárajte objekty pomocou deserializácie

V Java Serialization sa používa na prevod aktuálneho stavu objektu do bajtového toku. deserializácia je presný opak, pretože objekt znovu vytvárame pomocou bajtového toku. Pre proces serializácie musíme implementovať rozhranie Serializable. Na vytvorenie objektov pomocou tejto metódy je potrebné urobiť výnimku.

ObjectInputStream objectInputStream = nový ObjectInputStream (inputStream) Názov triedy objekt = (názov triedy) objectInputStream.readObject ()

Vytvorte objekty pomocou metódy newInstance () triedy Constructor

Videli sme metódu newInstance triedy Class, ktorú sme použili na vytvorenie objektu. Podobne konštruktor triedy tiež pozostáva z metódy newInstance (), ktorú je možné použiť na vytváranie objektov. Ostatné môžu predvolené konštruktory pomocou tejto metódy môžeme tiež zavolať parametrizované konštruktory .

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) { skúste {Constructor constructor = ObjectCreation.class.getDeclaredConstructor () ObjectCreation objectCreation = constructor.newInstance () objectCreation.changeMessage ('Vitajte vo svete programovania') System.out.println (objectCreation.FirstString)} catch (Výnimka e) { e.printStackTrace ()}}}

Výkon-

Vitajte vo svete programovania

Toto je 5 rôznych spôsobov vytvárania objektov v aplikácii niektoré sa používajú častejšie ako iné. Každá metóda má svoje vlastné výhody a nevýhody. Nakoniec je vaša voľba.

Java je zaujímavý jazyk, ale stáva sa zložitým, ak nie sú jasné jeho základy. Na úvod sa vaše učenie a osvojenie všetkých zručností súvisiacich s technológiou Java zapíše na a uvoľnite vo vás vývojára java.

výukový program informatica powercenter pre začiatočníkov

Máte na nás otázku? uveďte to, prosím, v sekcii komentárov v tomto článku „objekty v Jave“ a my sa vám ozveme čo najskôr.