Java 枚举中的构造函数重载。
java 8object oriented programmingprogramming
重载是实现多态性的机制之一,其中类包含两个具有相同名称和不同参数的方法。
每当您调用此方法时,方法主体将根据参数与方法调用绑定。
构造函数重载
与方法类似,您也可以重载构造函数,即您可以编写具有不同参数的多个构造函数。
并且,根据我们在实例化时传递的参数,将调用相应的构造函数。
示例
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]