Instanciarea este un cuvânt imens pentru a defini un concept universal și simplu în programarea Java, creând noi instanțe obiecte pentru a fi utilizat într-un program. În această secțiune, vom discuta ce este instanțiarea în Java, cum să instanțiezi o clasă, și care sunt modalitățile de a crea instanțe sau obiecte ale clasei?
Instanciarea
În Java , instanțierea înseamnă a numi constructor a unei clase care creează o instanță sau obiect de tipul acelei clase. Cu alte cuvinte, se numește crearea unui obiect al clasei instanțierea . Ocupă memoria inițială pentru obiect și returnează o referință. O instanțiere de obiect în Java oferă modelul pentru clasă.
Ce este un obiect?
- Este o entitate de rulare.
- Conține planul clasei.
- Putem crea orice număr de obiecte dintr-o clasă.
- Poate reprezenta date definite de utilizator, cum ar fi Vector , Liste etc.
Sintaxă pentru instanțiere
ClassName objName = new ClassName();
Sau
ClassName cn; cn= new ClassName;
Să înțelegem afirmațiile de mai sus printr-un exemplu.
Crearea Instanțelor
Există două moduri de a crea instanțe:
- Folosind nou Cuvânt cheie
- Folosind Metoda fabricii statice
Folosind noul cuvânt cheie
Java oferă nou cuvânt cheie pentru a instanția o clasă.
Definirea unei referințe
//defines a reference (variable) that can hold an object of the DemoClass DemoClass dc;
Instanciarea
căutarea contradictorie
DemoClass dc = new DemoClass(); //instantiation
De asemenea, putem instanția clasa de mai sus după cum urmează, dacă definim o variabilă de referință.
//creates a DemoClass object (instantiate) //new keyword allocates memory space for the newly created object dc = new DemoClass();
Observăm că atunci când folosim nou cuvânt cheie urmat de numele clasei, creează o instanță sau un obiect al acelei clase. Crearea unui constructor a clasei este cunoscută și ca instanțierea .
Notă: Dacă dorim să invocăm metodele clasei interne locale, trebuie să instanțiăm acea clasă.
Folosind metoda statică din fabrică
O altă modalitate de a instanția o clasă este apelând a static metoda din fabrică . O clasă poate furniza o metodă publică statică din fabrică care nu este altceva decât o metodă statică care returnează un instanță a clasei. Amintiți-vă întotdeauna că nu este același lucru cu modelul metodei din fabrică .
Îl putem folosi în locul constructorului. Furnizarea unei metode statice din fabrică în loc de un constructor are atât avantaje, cât și dezavantaje. The primul avantajul este că metodele statice din fabrică au și nume, spre deosebire de constructori. The al doilea avantajul este că, spre deosebire de constructori, nu li se cere să creeze un nou obiect de fiecare dată când sunt invocați. The al treilea avantajul este că, spre deosebire de constructori, ei pot returna un obiect de orice subtip al tipului lor returnat. The Al patrulea avantajul este că reduc verbozitatea creării instanțelor de tip parametrizat.
Dezavantajul este că furnizarea numai de metode statice din fabrică este că clasele fără constructori publici sau protejați nu pot fi subclasate. Un alt dezavantaj este că nu se pot distinge ușor de alte metode statice.
Să vedem un exemplu de metoda fabricii statice.
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); } //.. }
Să vedem câteva întrebări importante care pot apărea în minte.
Putem instanția o clasă abstractă?
Nu, nu putem instanția clase abstracte . Dar ele pot fi subclasate. Când o clasă abstractă este sub-clasată, de obicei oferă implementări pentru tot abstractul metode în clasa sa părinte.
Care este diferența dintre instanțiere și inițializare?
Instanciarea și inițializarea sunt concepte complet diferite în programarea Java.
Inițializare: Se apelează atribuirea unei valori unei variabile initializare . De exemplu, cost = 100 . Setează valoarea inițială a costului variabil la 100.
calcularea mandatului în excel
Instanciare: Crearea unui obiect folosind cuvântul cheie nou se numește instanțiere. De exemplu, Car ca = masina noua(). Acesta creează o instanță a clasei Car.