Java 中枚举中的构造函数重载。


重载是实现多态的机制之一,其中一个类包含两个名称相同但参数不同的方法。

每当调用此方法时,方法体将根据参数与方法调用绑定。

构造函数重载

与方法类似,你还可以重载构造函数,即使用不同的参数编写多个构造函数。

并且,基于我们在实例化时传递的参数,将调用相应的构造函数。

示例

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

输出

Tutorialspoint

枚举中的构造函数重载

就像普通构造函数一样,你还可以重写枚举的构造函数。即你可以使用不同的参数构造构造函数。

示例

以下 Java 程序演示了枚举中的构造函数重载。

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

输出

[Krishna, Ravi, Archana]

更新于: 2020 年 7 月 2 日

760 次浏览

开启您的 职业

完成课程获取认证

开始
广告
© . All rights reserved.