logo

Instanciation en Java

Instanciation est un mot immense pour définir un concept universel et simple en programmation Java, créant de nouvelles instances de objets à utiliser dans un programme. Dans cette section, nous discuterons qu'est-ce que l'instanciation en Java, comment instancier une classe, et quelles sont les manières de créer des instances ou des objets de la classe ?

Instanciation en Java

Instanciation

Dans Java , instanciation je veux dire appeler le constructeur d'une classe qui crée un exemple ou objet du type de cette classe. En d’autres termes, la création d’un objet de la classe s’appelle instanciation . Il occupe la mémoire initiale de l'objet et renvoie une référence. Une instanciation d'objet en Java fournit le modèle de la classe.

Qu'est-ce qu'un objet ?

  • C'est une entité d'exécution.
  • Il contient le plan de la classe.
  • Nous pouvons créer n'importe quel nombre d'objets d'une classe.
  • Il peut représenter des données définies par l'utilisateur comme Vecteur , Listes, etc.

Syntaxe pour l'instanciation

 ClassName objName = new ClassName(); 

Ou

 ClassName cn; cn= new ClassName; 

Comprenons les déclarations ci-dessus à travers un exemple.

Création d'instances

Il existe deux manières de créer des instances :

Utilisation du nouveau mot-clé

Java fournit le nouveau mot-clé pour instancier une classe.

Définir une référence

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

Instanciation

trouver mon iPhone Android
 DemoClass dc = new DemoClass(); //instantiation 

Nous pouvons également instancier la classe ci-dessus comme suit si nous définissons une variable de référence.

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

Nous observons que lorsque nous utilisons le nouveau mot-clé suivi du nom de la classe, il crée une instance ou un objet de cette classe. Création d'un constructeur de la classe est également connu sous le nom instanciation .

police latex

Remarque : Si nous voulons invoquer les méthodes de la classe interne locale, nous devons instancier cette classe.

Utilisation de la méthode d'usine statique

Une autre façon d'instancier une classe consiste à appeler un statique méthode d'usine . Une classe peut fournir une méthode de fabrique statique publique qui n'est rien d'autre qu'une méthode statique qui renvoie un exemple de la classe. N'oubliez jamais que ce n'est pas la même chose que le modèle de méthode d'usine .

Nous pouvons l'utiliser à la place du constructeur. Fournir une méthode de fabrique statique au lieu d'un constructeur présente à la fois des avantages et des inconvénients. Le d'abord L'avantage est que les méthodes de fabrique statiques ont également des noms, contrairement aux constructeurs. Le deuxième L'avantage est que contrairement aux constructeurs, ils ne sont pas obligés de créer un nouvel objet à chaque fois qu'ils sont invoqués. Le troisième L'avantage est que contrairement aux constructeurs, ils peuvent renvoyer un objet de n'importe quel sous-type de leur type de retour. Le quatrième L'avantage est qu'ils réduisent la verbosité de la création d'instances de type paramétrées.

L'inconvénient est que le fait de fournir uniquement des méthodes de fabrique statiques signifie que les classes sans constructeurs publics ou protégés ne peuvent pas être sous-classées. Un autre inconvénient est qu’elles ne se distinguent pas facilement des autres méthodes statiques.

Voyons un exemple de la méthode de fabrique statique.

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

Voyons quelques questions importantes qui pourraient vous venir à l'esprit.

Pouvons-nous instancier une classe abstraite ?

Non, nous ne pouvons pas instancier cours abstraits . Mais ils peuvent être sous-classés. Lorsqu'une classe abstraite est sous-classée, elle fournit généralement des implémentations pour toutes les classes abstraites. méthodes dans sa classe parent.

Quelle est la différence entre l'instanciation et l'initialisation ?

L'instanciation et l'initialisation sont des concepts complètement différents dans la programmation Java.

Initialisation : L'attribution d'une valeur à une variable s'appelle initialisation . Par exemple, coût = 100 . Il fixe la valeur initiale du coût variable à 100.

Instanciation : La création d'un objet à l'aide du mot-clé new est appelée instanciation. Par exemple, Voiture ca = nouvelle voiture(). Il crée une instance de la classe Car.