方法多載讓相同名稱對應不同參數列表,源自人類語言的「多義詞」特性。建構子必須多載(類別名固定),普通方法多載則提供便利性。
class Tree {
Tree() { height = 0; } // 預設建構子
Tree(int h) { height = h; } // 參數化建構子
void info() { ... }
void info(String msg) { ... } // 普通方法多載
}
print(int)/print(String))無參數建構子慣稱「預設建構子」,Sun 文件稱「no-arg constructor」。若定義任何建構子,必須顯式提供預設建構子。
方法多載是 Java 表達力的關鍵特性,善用能讓 API 更直覺易用。