Què és Objecte a Java i com utilitzar-lo?



Un objecte a Java és l’entitat del món real que té la seva pròpia propietat i comportament. Obteniu més informació sobre els objectes de Java i sobre com crear-los de diverses maneres.

Java és un fitxer . En altres paraules, gairebé tot a Java es tracta com un objecte. Per tant, mentre es programa a Java, s’hauria de conèixer totes les maneres possibles de crear objectes a Java. Però abans de capbussar-vos més en els objectes, heu de conèixer el concepte de Classes de Java i com es relacionen els objectes amb ells.

En aquest post, tractarem 5 maneres diferents d'objectes creats a Java i entendreem tots els conceptes essencials necessaris per entendre els mètodes.





  1. Creeu objectes amb una paraula clau 'nova'
  2. Crea objectes mitjançant el mètode clone ()
  3. Creeu objectes mitjançant el mètode de classe newInstance ()
  4. Creeu objectes mitjançant la deserialització
  5. Creeu objectes mitjançant el mètode newInstance () de la classe constructora

Comencem.



Creeu objectes amb una paraula clau 'nova'

Mentre programeu a Java, és possible que hagueu trobat definitivament la paraula clau 'nova'. És una paraula clau que s’utilitza per crear un objecte que s’assigna dinàmicament memòria, és a dir, la memòria a aquests objectes s’assigna en temps d’execució. I aquesta assignació dinàmica es requereix la major part del temps mentre es creen objectes. Per tant, aquest mètode s’utilitza més sovint que altres.

Sintaxi : 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)}}

Sortida- Hola món

Aquest mètode de creació d'objectes a Java es pot utilitzar amb qualsevol constructor de la classe requerida si la classe en té més d'1 constructor .

Creeu objectes mitjançant el mètode clone ()

Què passa si l'objecte que volem crear ha de ser una còpia d'un ja existent ? En aquest cas, podem utilitzar el mètode clone (). clone () forma part de la classe Object però no es pot utilitzar directament ja que és un mètode protegit.

El mètode clone () només es pot utilitzar després d'implementar i gestionar la interfície CloneableCloneNotSupportedException.

classe Message implements Cloneable {String FirstString Message () {this.FirstString = 'Hello World'} public Object clon () llança CloneNotSupportedException {return super.clone ()}} public class ObjectCreation {public static void main (String [] args) llança CloneNotSupportedException {Missatge FirstObj = missatge nou () System.out.println (FirstObj.FirstString) Missatge SecondObj = (Missatge) FirstObj.clone () System.out.println (SecondObj.FirstString) SecondObj.FirstString = 'Benvingut al món de programació 'System.out.println (SecondObj.FirstString) System.out.println (FirstObj.FirstString)}}

Sortida-

Hola món

Hola món

system.exit (0)

Benvingut al món de la programació

Hola món

Al programa anterior, vam crear una còpia del nostre objecte ja existent. Per assegurar-vos que tots dos no apunten cap a la mateixa ubicació de memòria, era essencial canviar el valor de 'FirstString' per al segon objecte i després imprimir-ne el valor per als dos objectes.

Creeu objectes mitjançant el mètode newInstance () de la classe Class

Aquest mètode no s’utilitza sovint per crear objectes. Aquest mètode de creació d’un objecte s’utilitza si coneixem el nom de la classe i el constructor per defecte és de naturalesa pública. Per utilitzar aquest mètode per crear objectes, hem de gestionar 3 excepcions

ClassNotFoundException- Aquesta excepció es produeix si la JVM no pot trobar la classe que es passa com a argument.

Excepció d’instància Aquesta excepció es produeix si la classe donada no conté un constructor per defecte.

IllegalAccessException- Aquesta excepció es produeix si no tenim accés a l'especificat classe .

Un cop ens ocupem d’aquestes excepcions, ens convé anar-hi.

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

Sortida- Hola món

Creeu objectes mitjançant la deserialització

A Java, la serialització s’utilitza per convertir l’estat actual d’un objecte en un flux de bytes. la deserialització és exactament el contrari en recrear l'objecte mitjançant el flux de bytes. Per al procés de serialització, hem d’implementar una interfície serialitzable. El tractament d’excepcions s’ha de fer per crear objectes mitjançant aquest mètode.

ObjectInputStream objectInputStream = nou ObjectInputStream (inputStream) Nom de classe object = (nom de classe) objectInputStream.readObject ()

Creeu objectes mitjançant el mètode newInstance () de la classe Constructor

Vam veure el mètode newInstance de classe Class que vam utilitzar per crear un objecte. De la mateixa manera, el constructor de classes també consisteix en un mètode newInstance () que es pot utilitzar per crear objectes. Altres constructors poden predeterminar amb l'ajut d'aquest mètode que també podem trucar constructors parametritzats .

import java.lang.reflect. * public class ObjectCreation {private String FirstString = Objecte de creació 'Hello World' () {} public void changeMessage (missatge de cadena) {this.FirstString = message} public static void main (String [] args) { try {Constructor constructor = ObjectCreation.class.getDeclaredConstructor () ObjectCreation objectCreation = constructor.newInstance () objectCreation.changeMessage ('Benvingut al món de la programació') System.out.println (objectCreation.FirstString)} catch (Excepció e) { e.printStackTrace ()}}}

Sortida-

Benvingut al món de la programació

Aquestes són 5 maneres diferents de crear objectes a algunes s’utilitzen més sovint que d’altres. Cada mètode té els seus propis avantatges i desavantatges. Al final, l’elecció és vostra.

una senzilla introducció a la ciència de dades

Java és un llenguatge interessant, però es fa complicat si els fonaments no estan clars. Per començar, el vostre aprenentatge i domini de totes les habilitats relacionades amb la tecnologia Java s’inscriuen al i llança el desenvolupador de Java en tu.

Tens alguna pregunta? Si us plau, mencioneu-ho a la secció de comentaris d’aquest article sobre ‘objectes a Java’ i us respondrem el més aviat possible.