Co je Object v Javě a jak ji používat?



Objekt v Javě je entita reálného světa, která má své vlastní vlastnosti a chování. Naučte se vše o objektech v Javě a o tom, jak je vytvořit několika způsoby.

Java je . Jinými slovy, téměř vše v Javě je považováno za objekt. Při programování v Javě by tedy člověk měl znát všechny možné způsoby vytváření objektů v Javě. Ale než se ponoříte hlouběji do objektů, musíte znát pojem Třídy Java a jak s nimi objekty souvisejí.

V tomto příspěvku se budeme zabývat 5 různými způsoby vytváření objektů v Javě a pochopíme všechny základní pojmy potřebné k pochopení metod.





  1. Vytvářejte objekty pomocí „nového“ klíčového slova
  2. Vytvářejte objekty pomocí metody clone ()
  3. Vytvářejte objekty pomocí metody newInstance () třídy
  4. Vytvářejte objekty pomocí deserializace
  5. Vytvářejte objekty pomocí metody newInstance () třídy konstruktoru

Začněme.



převod dvojité na int java

Vytvářejte objekty pomocí „nového“ klíčového slova

Při programování v Javě byste se určitě mohli setkat s klíčovým slovem „nové“. Jedná se o klíčové slovo používané k vytvoření objektu, který je dynamicky přidělena paměť, tj. Paměť těmto objektům je přiřazena za běhu. A toto dynamické přidělování je po většinu času vyžadováno při vytváření objektů. Proto se tato metoda používá častěji než jiné.

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ýstup- Ahoj světe

Tuto metodu vytváření objektů v Javě lze použít s jakýmkoli konstruktorem požadované třídy, pokud má třída více než 1 stavitel .

Vytvářejte objekty pomocí metody clone ()

Co když by objekt, který chceme vytvořit, měl být kopií již existujícího ? V takovém případě můžeme použít metodu clone (). clone () je součástí třídy Object, ale nelze jej použít přímo, protože se jedná o chráněnou metodu.

metodu clone () lze použít pouze po implementaci rozhraní Cloneable a manipulaciCloneNotSupportedException.

třída Zpráva implementuje Cloneable {String FirstString Message () {this.FirstString = 'Hello World'} public Object clone () hodí CloneNotSupportedException {return super.clone ()}} veřejná třída ObjectCreation {public static void main (String [] args) hodí CloneNotSupportedException {Zpráva FirstObj = nová zpráva () System.out.println (FirstObj.FirstString) Zpráva SecondObj = (zpráva) FirstObj.clone () System.out.println (SecondObj.FirstString) SecondObj.FirstString = 'Vítejte na světě programování 'System.out.println (SecondObj.FirstString) System.out.println (FirstObj.FirstString)}}

Výstup-

Ahoj světe

Ahoj světe

Vítejte ve světě programování

Ahoj světe

Ve výše uvedeném programu jsme vytvořili kopii našeho již existujícího objektu. Abyste se ujistili, že neukazují na stejné místo v paměti, bylo nutné změnit hodnotu „FirstString“ pro druhý objekt a poté vytisknout jeho hodnotu pro oba objekty.

Vytvářejte objekty pomocí metody newInstance () třídy Class

Tato metoda se pro vytváření objektů nepoužívá často. Tato metoda vytváření objektu se používá, pokud známe název třídy a výchozí konstruktor má veřejnou povahu. Chcete-li použít tuto metodu pro vytváření objektů, musíme zpracovat 3 výjimky

ClassNotFoundException- K této výjimce dochází, pokud JVM není schopen najít třídu, která je předána jako argument.

správa relací ve webové aplikaci Java

InstantiationException- K této výjimce dochází, pokud daná třída neobsahuje výchozí konstruktor.

IllegalAccessException- K této výjimce dochází, pokud nemáme přístup k zadané třída .

Jakmile se postaráme o tyto výjimky, je dobré jít.

třída 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ýstup- Ahoj světe

Vytvářejte objekty pomocí deserializace

V Javě se serializace používá k převodu aktuálního stavu objektu na bajtový proud. deserializace je přesný opak, protože znovu vytváříme objekt pomocí bajtového proudu. Pro proces serializace musíme implementovat Serializovatelné rozhraní. Pro vytvoření objektů pomocí této metody je třeba provést zpracování výjimek.

ObjectInputStream objectInputStream = nový ObjectInputStream (inputStream) Název třídy objekt = (název třídy) objectInputStream.readObject ()

Vytvářejte objekty pomocí metody newInstance () třídy Constructor

Viděli jsme metodu newInstance třídy Class, kterou jsme použili k vytvoření objektu. Podobně konstruktor třídy také sestává z metody newInstance (), kterou lze použít k vytváření objektů. Ostatní mohou výchozí konstruktory pomocí této metody můžeme také zavolat parametrizované konstruktory .

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) { vyzkoušejte {Constructor constructor = ObjectCreation.class.getDeclaredConstructor () ObjectCreation objectCreation = constructor.newInstance () objectCreation.changeMessage ('Welcome to the world of programming') System.out.println (objectCreation.FirstString)} catch (Exception e) { e.printStackTrace ()}}}

Výstup-

Vítejte ve světě programování

Jedná se o 5 různých způsobů vytváření objektů v některé se používají častěji než jiné. Každá metoda má své vlastní výhody a nevýhody. Nakonec je volba na vás.

Java je zajímavý jazyk, ale pokud nejsou jasné základy, bude obtížné. Chcete-li nastartovat, vaše učení a zvládnutí všech dovedností souvisejících s technologií Java se zaregistruje na a uvolněte ve vás vývojáře Java.

výukový program informatica powercenter pro začátečníky

Máte na nás dotaz? uveďte to prosím v sekci komentářů v tomto článku „Objekty v Javě“ a my se vám ozveme co nejdříve.