Hvad er objekt i Java, og hvordan bruges det?



Et objekt i Java er den virkelige enhed, der har sin egen ejendom og adfærd. Lær alt om objekter i Java, og hvordan du opretter dem på flere måder.

Java er en . Med andre ord behandles næsten alt i Java som et objekt. Derfor bør man kende alle mulige måder at oprette objekter på Java, mens man programmerer i Java. Men inden du dykker dybere ned i objekter, skal du kende begrebet Java-klasser og hvordan genstande er relateret til dem.

I dette indlæg vil vi dække 5 forskellige måder til oprettede objekter i Java og forstå alle vigtige begreber, der kræves for at forstå metoderne.





  1. Opret objekter ved hjælp af 'nyt' nøgleord
  2. Opret objekter ved hjælp af klon () -metoden
  3. Opret objekter ved hjælp af metoden newInstance () i klassen
  4. Opret objekter ved hjælp af deserialisering
  5. Opret objekter ved hjælp af metoden newInstance () i konstruktorklassen

Lad os komme igang.



Opret objekter ved hjælp af 'nyt' nøgleord

Under programmering i Java er du muligvis helt sikkert stødt på det 'nye' nøgleord. Det er et nøgleord, der bruges til at oprette et objekt, der tildeles dynamisk hukommelse, dvs. hukommelse til disse objekter tildeles ved kørsel. Og denne dynamiske tildeling kræves det meste af tiden, mens du opretter objekter. Derfor bruges denne metode oftere end andre.

Syntaks : ClassName ObjectName = ny classConstructor ()



offentlig klasse ObjectCreation {String FirstString = 'Hello World' offentlig statisk ugyldig main (String [] args) {ObjectCreation obj = new ObjectCreation () System.out.println (obj.FirstString)}}

Produktion- Hej Verden

Denne metode til oprettelse af objekter i Java kan bruges med enhver konstruktør i den krævede klasse, hvis klassen har mere end 1 Bygger .

Opret objekter ved hjælp af klon () -metoden

Hvad hvis det objekt, vi vil oprette, skal være en kopi af et allerede eksisterende ? I så fald kan vi bruge metoden clone (). klon () er en del af objektklassen, men den kan ikke bruges direkte, da den er en beskyttet metode.

clone () -metoden kan kun bruges efter implementering af Cloneable-interface og håndteringCloneNotSupportedException.

klasse Message implementerer Cloneable {String FirstString Message () {this.FirstString = 'Hello World'} public Object clone () kaster CloneNotSupportedException {return super.clone ()}} public class ObjectCreation {public static void main (String [] args) kaster CloneNotSupportedException {Message FirstObj = new Message () System.out.println (FirstObj.FirstString) Message SecondObj = (Message) FirstObj.clone () System.out.println (SecondObj.FirstString) SecondObj.FirstString = 'Velkommen til verden af programmering 'System.out.println (SecondObj.FirstString) System.out.println (FirstObj.FirstString)}}

Produktion-

Hej Verden

Hej Verden

Velkommen til programmeringsverdenen

Hej Verden

I ovenstående program oprettede vi en kopi af vores allerede eksisterende objekt. For at sikre, at begge peger ikke på den samme hukommelsesplacering, var det vigtigt at ændre værdien af ​​'FirstString' for det andet objekt og derefter udskrive dets værdi for begge objekter.

Opret objekter ved hjælp af metoden newInstance () i klasse Class

Denne metode bruges ikke ofte til oprettelse af objekter. Denne metode til oprettelse af et objekt bruges, hvis vi kender klassens navn og standard konstruktør er offentlig. For at bruge denne metode til oprettelse af objekter skal vi håndtere 3 undtagelser

ClassNotFoundException- Denne undtagelse opstår, hvis JVM ikke kan finde den klasse, der sendes som et argument.

Øjeblikkelig undtagelse- Denne undtagelse forekommer, hvis den givne klasse ikke indeholder en standardkonstruktør.

Ulovlig adgangsundtagelse- Denne undtagelse opstår, hvis vi ikke har adgang til det angivne klasse .

Når vi først har taget os af disse undtagelser, er vi gode til at gå.

class ObjectCreation {String FirstString = 'Hello World' offentlig statisk ugyldig main (String [] args) {prøv {Class Message = Class.forName ('ObjectCreation') ObjectCreation obj = (ObjectCreation) Message.newInstance () System.out.println (obj.FirstString)} fangst (ClassNotFoundException e) {e.printStackTrace ()} fangst (InstantiationException e) {e.printStackTrace ()} fangst (IllegalAccessException e) {e.printStackTrace ()}}}

Produktion- Hej Verden

Opret objekter ved hjælp af deserialisering

I Java bruges serialisering til at konvertere et objekts aktuelle tilstand til en byte-stream. deserialisering er det modsatte, da vi genskaber objektet ved hjælp af byte-strømmen. Til serialiseringsprocessen skal vi implementere Serializable interface. Undtagelseshåndtering skal udføres for at oprette objekter ved hjælp af denne metode.

ObjectInputStream objectInputStream = ny ObjectInputStream (inputStream) Classname-objekt = (classname) objectInputStream.readObject ()

Opret objekter ved hjælp af newInstance () -metoden i Constructor-klassen

Vi så newInstance-metoden i klasse Class, som vi brugte til at oprette et objekt. På samme måde består klassekonstruktøren også af en newInstance () -metode, der kan bruges til at oprette objekter. Andre kan standardkonstruktører ved hjælp af denne metode kan vi også kalde parametriserede konstruktører .

forskellen mellem html og xml
import java.lang.reflect. * public class ObjectCreation {private String FirstString = 'Hello World' ObjectCreation () {} public void changeMessage (String message) {this.FirstString = message} public static ugyldig main (String [] args) { prøv {Constructor constructor = ObjectCreation.class.getDeclaredConstructor () ObjectCreation objectCreation = constructor.newInstance () objectCreation.changeMessage ('Welcome to the world of programmering') System.out.println (objectCreation.FirstString)} fangst (Undtagelse e) { e.printStackTrace ()}}}

Produktion-

Velkommen til programmeringsverdenen

Dette er 5 forskellige måder at skabe objekter på nogle bruges oftere end andre. Hver metode har sine egne fordele og ulemper. I sidste ende er valget dit.

Java er et interessant sprog, men det bliver vanskeligt, hvis de grundlæggende ikke er klare. For at starte, tilmelder din læring og mestrer alle de færdigheder, der er relateret til java-teknologi, til og frigør java-udvikleren i dig.

Har du et spørgsmål til os? nævnes dette i kommentarfeltet i denne 'objekter i Java' artikel, og vi vender tilbage til dig så hurtigt som muligt.