logo

Instantiering i Java

Instantiering er et enormt ord for å definere et universelt og enkelt konsept i Java-programmering, og skaper nye forekomster av gjenstander som skal brukes i et program. I denne delen vil vi diskutere hva er instansiering i Java, hvordan instansierer du en klasse, og hva er måtene å lage forekomster eller objekter av klassen på?

Instantiering i Java

Instantiering

I Java , instansiering mener å ringe konstruktør av en klasse som lager en forekomst eller gjenstand av typen til den klassen. Med andre ord kalles det å lage et objekt i klassen instansiering . Den opptar det opprinnelige minnet for objektet og returnerer en referanse. En objektinstansiering i Java gir blåkopi for klassen.

Hva er en gjenstand?

  • Det er en kjøretidsenhet.
  • Den inneholder blåkopi av klassen.
  • Vi kan lage et hvilket som helst antall objekter i en klasse.
  • Det kan representere brukerdefinerte data som Vektor , lister osv.

Syntaks for instansiering

 ClassName objName = new ClassName(); 

Eller

 ClassName cn; cn= new ClassName; 

La oss forstå utsagnene ovenfor gjennom et eksempel.

Opprette forekomster

Det er to måter å opprette forekomster på:

Bruker det nye nøkkelordet

Java gir ny søkeord å instansiere en klasse.

Definere en referanse

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

Instantiering

generell beskyttelsesfeil
 DemoClass dc = new DemoClass(); //instantiation 

Vi kan også instansiere klassen ovenfor som følger hvis vi definerer en referansevariabel.

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

Vi observerer at når vi bruker ny nøkkelord etterfulgt av klassenavnet, oppretter det en forekomst eller et objekt av den klassen. Opprette en konstruktør av klassen er også kjent som instansiering .

Merk: Hvis vi vil påkalle metodene til den lokale indre klassen, må vi instansiere den klassen.

Bruker statisk fabrikkmetode

En annen måte å instansiere en klasse på er ved å ringe en statisk fabrikkmetoden . En klasse kan gi en offentlig statisk fabrikkmetode som ikke er annet enn en statisk metode som returnerer en forekomst av klassen. Husk alltid at det ikke er det samme som fabrikkmetodemønster .

Vi kan bruke den i stedet for konstruktøren. Å gi en statisk fabrikkmetode i stedet for en konstruktør har både fordeler og ulemper. De først Fordelen er at statiske fabrikkmetoder også har navn, i motsetning til konstruktører. De sekund Fordelen er at i motsetning til konstruktører er de ikke pålagt å lage et nytt objekt hver gang de påkalles. De tredje Fordelen er at i motsetning til konstruktører kan de returnere et objekt av hvilken som helst undertype av returtypen. De fjerde Fordelen er at de reduserer omfanget av å lage parametriserte typeforekomster.

Ulempen er at det kun tilbys statiske fabrikkmetoder, er at klasser uten offentlige eller beskyttede konstruktører ikke kan underklasses. En annen ulempe er at de ikke lett kan skilles fra andre statiske metoder.

La oss se et eksempel på den statiske fabrikkmetoden.

koble til database java
 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); } //.. } 

La oss se noen viktige spørsmål som kan klikke i hodet.

Kan vi instansiere abstrakt klasse?

Nei, vi kan ikke instansiere abstrakte klasser . Men de kan underklasses. Når en abstrakt klasse er underklassifisert, gir den vanligvis implementeringer for hele abstraktet metoder i sin foreldreklasse.

Hva er forskjellen mellom instansiering og initialisering?

Instantiering og initialisering er helt forskjellige konsepter i Java-programmering.

Initialisering: Å tilordne en verdi til en variabel kalles initialisering . For eksempel, pris = 100 . Den setter startverdien av den variable kostnaden til 100.

Forekomst: Å lage et objekt ved å bruke det nye nøkkelordet kalles instansiering. For eksempel, Bil ca = ny bil(). Det oppretter en forekomst av bilklassen.