English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Redéfinition du constructeur dans les enums en Java

SurchargeC'est un mécanisme pour réaliser la polymorphisme, où une classe contient deux méthodes ayant le même nom et des paramètres différents.

Chaque fois que ce méthode est appelée, le corps de la méthode sera lié à l'appel de méthode en fonction des paramètres.

Overloading des constructeurs

Comme pour les méthodes, vous pouvez également surcharger les constructeurs, c'est-à-dire que vous pouvez écrire plusieurs constructeurs avec des paramètres différents.

En outre, en fonction des paramètres passés lors de l'instanciation, le constructeur approprié sera appelé.

Exemple

public class Sample{
   public Sample(){
      System.out.println("Hello how are you");
   }
   public Sample(String data){
      System.out.println(data);
   }
   public static void main(String args[]){
      Sample obj = new Sample("Tutorialspoint");
   }
}

Résultat de la sortie

Tutorialspoint

Overloading des méthodes de construction dans les ensembles d'enumération

Comme pour les constructeurs ordinaires, vous pouvez également surcharger le constructeur de l'ensemble d'enumération. C'est-à-dire que vous pouvez rendre le constructeur ayant des paramètres différents.

Exemple

Le programme Java suivant montre l'overloading des constructeurs dans les ensembles d'enumération.

import java.util.Arrays;
enum Student {
   Krishna("Krishna", "kasyap", "Bhagavatula"), Ravi("Ravi", "Kumar", "pyda"), Archana("Archana", "devraj", "mohonthy");
   private String firstName;
   private String lastName;
   private String middleName;
   private Student(String firstName, String lastName, String middlename){
      this.firstName = firstName;
      this.lastName = lastName;
      this.middleName = middleName;
   }
   private Student(String name) {
      this(name.split(" ")[0], name.split(" ")[1], name.split(" ")[2]);
   }
}
public class ConstructorOverloading{
   public static void main(String args[]) {
      Student stds[] = Student.values();
      System.out.println(Arrays.toString(stds));
   }
}

Résultat de la sortie

[Krishna, Ravi, Archana]
Vous pourriez aussi aimer