logo

Instantiatie in Java

Instantiatie is een immens woord om een ​​universeel en eenvoudig concept in Java-programmering te definiëren, en er nieuwe exemplaren van te creëren voorwerpen te gebruiken in een programma. In deze sectie zullen we bespreken wat is instantiatie in Java, hoe een klasse te instantiëren, En Wat zijn de manieren om instanties of objecten van de klasse te maken?

Instantiatie in Java

Instantiatie

In Java , instantiatie bedoel om te bellen bouwer van een klasse die een voorbeeld of voorwerp van het type van die klasse. Met andere woorden: het maken van een object van de klasse wordt aangeroepen instantiatie . Het neemt het initiële geheugen van het object in beslag en retourneert een referentie. Een objectinstantie in Java levert de blauwdruk voor de klasse.

Wat is een voorwerp?

  • Het is een runtime-entiteit.
  • Het bevat de blauwdruk van de klasse.
  • We kunnen een willekeurig aantal objecten van een klasse maken.
  • Het kan door de gebruiker gedefinieerde gegevens vertegenwoordigen, zoals Vector , Lijsten, enz.

Syntaxis voor instantiatie

 ClassName objName = new ClassName(); 

Of

 ClassName cn; cn= new ClassName; 

Laten we de bovenstaande uitspraken begrijpen aan de hand van een voorbeeld.

Instanties maken

Er zijn twee manieren om instanties te maken:

Het nieuwe trefwoord gebruiken

Java levert de nieuw trefwoord om een ​​klasse te instantiëren.

Een referentie definiëren

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

Instantiatie

10 ml is hoeveel
 DemoClass dc = new DemoClass(); //instantiation 

We kunnen de bovenstaande klasse ook als volgt instantiëren als we een referentievariabele definiëren.

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

We merken dat wanneer we de nieuw trefwoord gevolgd door de klassenaam, het creëert een instantie of object van die klasse. Een constructor maken van de klas wordt ook wel genoemd instantiatie .

Opmerking: als we de methoden van de lokale innerlijke klasse willen aanroepen, moeten we die klasse instantiëren.

Met behulp van de statische fabrieksmethode

Een andere manier om een ​​klasse te instantiëren is door a aan te roepen statisch fabrieksmethode . Een klasse kan een openbare statische fabrieksmethode bieden die niets anders is dan een statische methode die een voorbeeld van de klas. Onthoud altijd dat het niet hetzelfde is als de fabrieksmethode patroon .

We kunnen het gebruiken in plaats van de constructor. Het aanbieden van een statische fabrieksmethode in plaats van een constructor heeft zowel voor- als nadelen. De Eerst Het voordeel is dat statische fabrieksmethoden ook namen hebben, in tegenstelling tot constructors. De seconde Het voordeel is dat ze, in tegenstelling tot constructors, niet elke keer dat ze worden aangeroepen een nieuw object hoeven te maken. De derde Het voordeel is dat ze, in tegenstelling tot constructors, een object van elk subtype van hun retourtype kunnen retourneren. De vierde Het voordeel is dat ze de breedsprakigheid van het maken van geparametriseerde type-instanties verminderen.

Het nadeel is dat het aanbieden van alleen statische fabrieksmethoden ervoor zorgt dat klassen zonder openbare of beschermde constructors niet in subklassen kunnen worden ingedeeld. Een ander nadeel is dat ze niet gemakkelijk te onderscheiden zijn van andere statische methoden.

Laten we een voorbeeld bekijken van de statische fabrieksmethode.

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

Laten we eens kijken naar enkele belangrijke vragen die in uw hoofd kunnen opkomen.

Download youtube vlc mediaspeler

Kunnen we abstracte klasse instantiëren?

Nee, we kunnen niet instantiëren abstracte klassen . Maar ze kunnen in subcategorieën worden ingedeeld. Wanneer een abstracte klasse in een subklasse wordt ingedeeld, biedt deze gewoonlijk implementaties voor alle abstracte elementen methoden in zijn ouderklasse.

Wat is het verschil tussen instantiatie en initialisatie?

Instantiatie en initialisatie zijn totaal verschillende concepten in Java-programmeren.

Initialisatie: Het toekennen van een waarde aan een variabele heet initialisatie . Bijvoorbeeld, kosten = 100 . De initiële waarde van de variabele kosten wordt ingesteld op 100.

Instantiatie: Het maken van een object met behulp van het nieuwe sleutelwoord wordt instantiatie genoemd. Bijvoorbeeld, Auto ca = nieuwe auto(). Er wordt een exemplaar van de klasse Car gemaakt.