logo

Instantiaatio Java-kielellä

Instantiation on valtava sana määrittelemään universaalin ja suoraviivaisen käsitteen Java-ohjelmointiin, luoden uusia esiintymiä esineitä käytettäväksi ohjelmassa. Tässä osiossa keskustelemme mitä on ilmentäminen Javassa, miten luokka ilmentyy, ja millä tavoilla luokan esiintymiä tai objekteja luodaan?

Instantiaatio Java-kielellä

Instantiation

Sisään Java , instantiaatio tarkoita soittaa rakentaja luokasta, joka luo ilmentymä tai esine kyseisen luokan tyypistä. Toisin sanoen luokan objektin luomista kutsutaan instantiaatio . Se varaa objektin alkumuistin ja palauttaa viitteen. Javassa oleva objektin ilmentäminen tarjoaa luokan suunnitelman.

Mikä on esine?

  • Se on ajonaikainen kokonaisuus.
  • Se sisältää luokan suunnitelman.
  • Voimme luoda minkä tahansa määrän luokan objekteja.
  • Se voi edustaa käyttäjän määrittämiä tietoja, kuten Vektori , Listat jne.

Syntaksi ilmentymiselle

 ClassName objName = new ClassName(); 

Tai

 ClassName cn; cn= new ClassName; 

Ymmärretään yllä olevat lausunnot esimerkin kautta.

Instanssien luominen

On olemassa kaksi tapaa luoda esiintymiä:

  • Käyttämällä Uusi avainsana
  • Käyttämällä Staattinen tehdasmenetelmä

Uuden avainsanan käyttäminen

Java tarjoaa Uusi avainsana luomaan luokka.

Viitteen määrittäminen

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

Instantiation

esimerkki binaarihakupuusta
 DemoClass dc = new DemoClass(); //instantiation 

Voimme myös instantoida yllä olevan luokan seuraavasti, jos määrittelemme viitemuuttujan.

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

Huomaamme, että kun käytämme Uusi avainsana ja luokan nimi, se luo kyseisen luokan esiintymän tai objektin. Rakentajan luominen luokan tunnetaan myös nimellä instantiaatio .

Huomautus: Jos haluamme kutsua paikallisen sisäisen luokan menetelmiä, meidän on luotava kyseinen luokka.

Käyttämällä staattista tehdasmenetelmää

Toinen tapa instantoida luokka on soittaa a staattinen tehdasmenetelmä . Luokka voi tarjota julkisen staattisen tehdasmetodin, joka on vain staattinen menetelmä, joka palauttaa an ilmentymä luokasta. Muista aina, että se ei ole sama kuin tehdasmenetelmäkuvio .

Voimme käyttää sitä rakentajan sijasta. Staattisella tehdasmenetelmällä rakentajan sijaan on sekä hyviä että huonoja puolia. The ensimmäinen etuna on, että staattisilla tehdasmenetelmillä on myös nimet, toisin kuin konstruktoreilla. The toinen etuna on, että toisin kuin rakentajien, niiden ei tarvitse luoda uutta objektia joka kerta, kun niitä kutsutaan. The kolmas etuna on, että toisin kuin rakentajat voivat palauttaa minkä tahansa palautustyypin alatyypin objektin. The neljäs etuna on, että ne vähentävät parametroidun tyyppisten ilmentymien luomisen monimuotoisuutta.

Haittapuolena on, että vain staattisten tehdasmenetelmien tarjoaminen on se, että luokkia, joissa ei ole julkisia tai suojattuja rakentajia, ei voida luokitella alaluokkiin. Toinen haittapuoli on, että niitä ei voida helposti erottaa muista staattisista menetelmistä.

Katsotaanpa esimerkki staattisesta tehdasmenetelmästä.

 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); } //.. } 

Katsotaanpa joitain tärkeitä kysymyksiä, jotka saattavat napsahtaa mieleen.

Voimmeko ilmentää abstraktin luokan?

Ei, emme voi instantoida abstrakteja luokat . Mutta ne voidaan luokitella alaluokkiin. Kun abstrakti luokka on alaluokitettu, se yleensä tarjoaa toteutuksia kaikille abstrakteille menetelmiä vanhempien luokassaan.

unix vs windows

Mitä eroa on instantiation ja alustuksen välillä?

Instantiation ja alustus ovat täysin eri käsitteitä Java-ohjelmoinnissa.

Alustus: Arvon antamista muuttujalle kutsutaan alustus . Esimerkiksi, hinta = 100 . Se asettaa muuttuvien kustannusten alkuarvoksi 100.

Instantiaatio: Objektin luomista käyttämällä uutta avainsanaa kutsutaan instantiaatioksi. Esimerkiksi, Auto ca = uusi auto(). Se luo Auto-luokan esiintymän.