logo

Instancija u Javi

Instanciranje je ogromna riječ za definiranje univerzalnog i jednostavnog koncepta u Java programiranju, stvarajući nove instance objekti koristiti u programu. U ovom odjeljku ćemo raspravljati što je instanciranje u Javi, kako instancirati klasu, i koji su načini za stvaranje instanci ili objekata klase?

Instancija u Javi

Instanciranje

U Java , instanciranje znači nazvati konstruktor klase koja stvara primjer ili objekt tipa te klase. Drugim riječima, stvaranje objekta klase se zove instanciranje . Zauzima početnu memoriju za objekt i vraća referencu. Instanciranje objekta u Javi daje nacrt za klasu.

Što je objekt?

  • To je runtime entitet.
  • Sadrži nacrt klase.
  • Možemo kreirati bilo koji broj objekata jedne klase.
  • Može predstavljati korisnički definirane podatke poput Vektor , popisi itd.

Sintaksa za instanciranje

 ClassName objName = new ClassName(); 

Ili

 ClassName cn; cn= new ClassName; 

Razumimo gornje izjave kroz primjer.

Stvaranje instanci

Postoje dva načina za stvaranje instanci:

Korištenje nove ključne riječi

Java pruža novi ključna riječ za instanciranje klase.

Definiranje reference

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

Instanciranje

kontradiktorna pretraga
 DemoClass dc = new DemoClass(); //instantiation 

Također možemo instancirati gornju klasu na sljedeći način ako definiramo referentnu varijablu.

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

Primjećujemo da kada koristimo novi ključnu riječ iza koje slijedi naziv klase, stvara instancu ili objekt te klase. Izrada konstruktora klase je također poznat kao instanciranje .

Napomena: Ako želimo pozvati metode lokalne unutarnje klase, moramo instancirati tu klasu.

Korištenje statičke tvorničke metode

Drugi način instanciranja klase je pozivanje a statički tvornička metoda . Klasa može pružiti javnu statičku tvorničku metodu koja nije ništa drugo nego statička metoda koja vraća primjer razreda. Uvijek zapamtite da to nije isto što i tvornička metoda uzorak .

Možemo ga koristiti umjesto konstruktora. Pružanje statičke tvorničke metode umjesto konstruktora ima i prednosti i nedostatke. The prvi prednost je što statičke tvorničke metode također imaju imena, za razliku od konstruktora. The drugi Prednost je u tome što za razliku od konstruktora ne moraju stvarati novi objekt svaki put kada se pozovu. The treći prednost je što za razliku od konstruktora mogu vratiti objekt bilo kojeg podtipa svog povratnog tipa. The Četvrta prednost je u tome što smanjuju opširnost stvaranja instanci parametriziranog tipa.

značajke java8

Nedostatak je u tome što pružanje samo statičkih tvorničkih metoda znači da klase bez javnih ili zaštićenih konstruktora ne mogu biti potklase. Još jedan nedostatak je taj što ih nije lako razlikovati od drugih statičkih metoda.

Pogledajmo primjer metode statičke tvornice.

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

Pogledajmo neka važna pitanja koja bi vam mogla pasti na pamet.

Možemo li instancirati apstraktnu klasu?

Ne, ne možemo instancirati apstraktne klase . Ali mogu biti podklase. Kada je apstraktna klasa podklasa, ona obično pruža implementacije za sav apstraktni metode u svojoj roditeljskoj klasi.

Koja je razlika između instanciranja i inicijalizacije?

Instanciranje i inicijalizacija potpuno su različiti pojmovi u Java programiranju.

Inicijalizacija: Dodjeljivanje vrijednosti varijabli se zove inicijalizacija . Na primjer, trošak = 100 . Postavlja početnu vrijednost varijabilnog troška na 100.

Instancija: Stvaranje objekta pomoću ključne riječi new naziva se instanciranje. Na primjer, Car ca = novi automobil(). Stvara instancu klase Car.