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]
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP