Instanziierung ist ein riesiges Wort, um ein universelles und unkompliziertes Konzept in der Java-Programmierung zu definieren, bei dem neue Instanzen davon erstellt werden Objekte zur Verwendung in einem Programm. In diesem Abschnitt werden wir diskutieren Was ist Instanziierung in Java, wie wird eine Klasse instanziiert? Und Welche Möglichkeiten gibt es, Instanzen oder Objekte der Klasse zu erstellen?
Instanziierung
In Java , Instanziierung Ich meine, das anzurufen Konstrukteur einer Klasse, die eine erstellt Beispiel oder Objekt vom Typ dieser Klasse. Mit anderen Worten: Das Erstellen eines Objekts der Klasse wird aufgerufen Instanziierung . Es belegt den anfänglichen Speicher für das Objekt und gibt eine Referenz zurück. Eine Objektinstanziierung in Java liefert den Bauplan für die Klasse.
Was ist ein Objekt?
- Es handelt sich um eine Laufzeiteinheit.
- Es enthält den Bauplan der Klasse.
- Wir können beliebig viele Objekte einer Klasse erstellen.
- Es kann benutzerdefinierte Daten darstellen, z Vektor , Listen usw.
Syntax für die Instanziierung
ClassName objName = new ClassName();
Oder
ClassName cn; cn= new ClassName;
Lassen Sie uns die obigen Aussagen anhand eines Beispiels verstehen.
Instanzen erstellen
Es gibt zwei Möglichkeiten, Instanzen zu erstellen:
- Verwendung der neu Stichwort
- Benutzen Statische Fabrikmethode
Verwenden des neuen Schlüsselworts
Java bietet das neu Stichwort um eine Klasse zu instanziieren.
Definieren einer Referenz
//defines a reference (variable) that can hold an object of the DemoClass DemoClass dc;
Instanziierung
plsql
DemoClass dc = new DemoClass(); //instantiation
Wir können die obige Klasse auch wie folgt instanziieren, wenn wir eine Referenzvariable definieren.
//creates a DemoClass object (instantiate) //new keyword allocates memory space for the newly created object dc = new DemoClass();
Wir beobachten das, wenn wir das verwenden neu Schlüsselwort gefolgt vom Klassennamen, erstellt es eine Instanz oder ein Objekt dieser Klasse. Erstellen eines Konstruktors der Klasse wird auch als bezeichnet Instanziierung .
Hinweis: Wenn wir die Methoden der lokalen inneren Klasse aufrufen möchten, müssen wir diese Klasse instanziieren.
Verwendung der statischen Factory-Methode
Eine andere Möglichkeit, eine Klasse zu instanziieren, ist der Aufruf von a statisch Fabrikmethode . Eine Klasse kann eine öffentliche statische Factory-Methode bereitstellen, die nichts anderes ist als eine statische Methode, die eine zurückgibt Beispiel der Klasse. Denken Sie immer daran, dass es nicht dasselbe ist wie das Factory-Methodenmuster .
Wir können es anstelle des Konstruktors verwenden. Die Bereitstellung einer statischen Factory-Methode anstelle eines Konstruktors hat sowohl Vor- als auch Nachteile. Der Erste Der Vorteil besteht darin, dass statische Factory-Methoden im Gegensatz zu Konstruktoren auch Namen haben. Der zweite Der Vorteil besteht darin, dass sie im Gegensatz zu Konstruktoren nicht bei jedem Aufruf ein neues Objekt erstellen müssen. Der dritte Der Vorteil besteht darin, dass sie im Gegensatz zu Konstruktoren ein Objekt eines beliebigen Untertyps ihres Rückgabetyps zurückgeben können. Der vierte Der Vorteil besteht darin, dass sie die Ausführlichkeit beim Erstellen parametrisierter Typinstanzen verringern.
Der Nachteil besteht darin, dass nur statische Factory-Methoden bereitgestellt werden, da Klassen ohne öffentliche oder geschützte Konstruktoren nicht in Unterklassen unterteilt werden können. Ein weiterer Nachteil besteht darin, dass sie nicht ohne weiteres von anderen statischen Methoden zu unterscheiden sind.
Sehen wir uns ein Beispiel der statischen Factory-Methode an.
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); } //.. }
Sehen wir uns einige wichtige Fragen an, die Ihnen in den Sinn kommen könnten.
Können wir eine abstrakte Klasse instanziieren?
Nein, wir können nicht instanziieren abstrakte Klassen . Sie können jedoch in Unterklassen unterteilt werden. Wenn eine abstrakte Klasse in Unterklassen unterteilt wird, stellt sie normalerweise Implementierungen für die gesamte Zusammenfassung bereit Methoden in seiner übergeordneten Klasse.
Was ist der Unterschied zwischen Instanziierung und Initialisierung?
Instanziierung und Initialisierung sind völlig unterschiedliche Konzepte in der Java-Programmierung.
Initialisierung: Das Zuweisen eines Werts zu einer Variablen wird aufgerufen Initialisierung . Zum Beispiel, Kosten = 100 . Der Anfangswert der variablen Kosten wird auf 100 festgelegt.
mylivecricket.in
Instanziierung: Das Erstellen eines Objekts mithilfe des Schlüsselworts new wird als Instanziierung bezeichnet. Zum Beispiel, Auto ca = neues Auto(). Es erstellt eine Instanz der Car-Klasse.