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

Sovraccarico del costruttore in un enum in Java

SovraccaricaÈ un meccanismo per implementare la polimorfismo, dove una classe contiene due metodi con lo stesso nome e parametri diversi.

Ogni volta che si chiama questo metodo, il corpo del metodo sarà basato sul binding del metodo con i parametri.

Sovraccarica del costruttore

Come per i metodi, puoi anche sovraccaricare i costruttori, ovvero puoi scrivere più costruttori con parametri diversi.

E in base ai parametri passati all'istanziazione, verrà chiamato il costruttore appropriato.

Esempio

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");
   }
}

Risultato di output

Tutorialspoint

Sovraccarica del metodo costruttore nell'enumerazione

Come per i costruttori normali, puoi sovraccaricare il costruttore dell'enumerazione. Questo significa che puoi avere costruttori con parametri diversi.

Esempio

Il seguente programma Java dimostra la sovraccarica del costruttore nell'enumerazione.

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

Risultato di output

[Krishna, Ravi, Archana]
Ti potrebbe interessare