logo

Instanciació en Java

Instanciació és una paraula immensa per definir un concepte universal i directe en la programació Java, creant-ne noves instàncies objectes per ser utilitzat en un programa. En aquesta secció, parlarem què és la instanciació a Java, com crear una instancia d'una classe, i quines són les maneres de crear instàncies o objectes de la classe?

Instanciació en Java

Instanciació

En Java , instanciació vol dir trucar al constructor d'una classe que crea un instància o objecte del tipus d'aquesta classe. En altres paraules, s'anomena crear un objecte de la classe instanciació . Ocupa la memòria inicial de l'objecte i retorna una referència. Una instanciació d'objectes en Java proporciona el pla per a la classe.

Què és un objecte?

  • És una entitat en temps d'execució.
  • Conté el plànol de la classe.
  • Podem crear qualsevol nombre d'objectes d'una classe.
  • Pot representar dades definides per l'usuari com Vector , Llistes, etc.

Sintaxi per a la instanciació

 ClassName objName = new ClassName(); 

O

 ClassName cn; cn= new ClassName; 

Entenem les afirmacions anteriors mitjançant un exemple.

Creació d'instàncies

Hi ha dues maneres de crear instàncies:

Utilitzant la nova paraula clau

Java proporciona el nou paraula clau d'instanciar una classe.

Definició d'una referència

 //defines a reference (variable) that can hold an object of the DemoClass DemoClass dc; 

Instanciació

executant scripts a linux
 DemoClass dc = new DemoClass(); //instantiation 

També podem instanciar la classe anterior de la següent manera si definim una variable de referència.

 //creates a DemoClass object (instantiate) //new keyword allocates memory space for the newly created object dc = new DemoClass(); 

Observem que quan fem servir el nou paraula clau seguida del nom de la classe, crea una instància o objecte d'aquesta classe. Creació d'un constructor de la classe també es coneix com instanciació .

Nota: si volem invocar els mètodes de la classe interna local, haurem d'instanciar aquesta classe.

Utilitzant el mètode de fàbrica estàtica

Una altra manera d'instanciar una classe és cridant a a estàtica mètode de fàbrica . Una classe pot proporcionar un mètode de fàbrica estàtic públic que no és més que un mètode estàtic que retorna un instància de la classe. Recordeu sempre que no és el mateix que el patró del mètode de fàbrica .

matriu dinàmica java

El podem utilitzar en lloc del constructor. Proporcionar un mètode de fàbrica estàtic en lloc d'un constructor té pros i contres. El primer L'avantatge és que els mètodes de fàbrica estàtica també tenen noms, a diferència dels constructors. El segon L'avantatge és que, a diferència dels constructors, no estan obligats a crear un objecte nou cada vegada que s'invoquen. El tercer L'avantatge és que, a diferència dels constructors, poden retornar un objecte de qualsevol subtipus del seu tipus de retorn. El quart L'avantatge és que redueixen la verbositat de crear instàncies de tipus parametritzat.

El desavantatge és que proporcionar només mètodes estàtics de fàbrica és que les classes sense constructors públics o protegits no es poden subclassificar. Un altre desavantatge és que no es poden distingir fàcilment d'altres mètodes estàtics.

Vegem un exemple del mètode de fàbrica estàtica.

 public final class Furniture { //.. private int price; private String description; private Furniture (int price, String description) { this.price = price; this.description = description; } public static Furniture getNewFurniture (int price, String description) { return new Furniture (price, description); } //.. } 

Vegem algunes preguntes importants que poden fer clic a la ment.

Podem instància de classe abstracta?

No, no podem instància classes abstractes . Però es poden subclassificar. Quan una classe abstracta està subclassificada, normalment proporciona implementacions per a tot l'abstracte mètodes a la seva classe de pares.

Quina diferència hi ha entre la instanciació i la inicialització?

La instanciació i la inicialització són conceptes completament diferents a la programació Java.

Inicialització: Es crida l'assignació d'un valor a una variable inicialització . Per exemple, cost = 100 . Estableix el valor inicial del cost variable en 100.

Instanciació: La creació d'un objecte mitjançant la paraula clau nova s'anomena instanciació. Per exemple, Car ca = cotxe nou (). Crea una instància de la classe Car.