3 回答

TA貢獻2011條經驗 獲得超2個贊
您的代碼非常好。根本不需要默認構造函數。您甚至可以將所有構造函數設為私有,這樣您就無法訪問任何構造函數:
public class PrivateClassTest{ // Default constructor that is not accessible by others private PrivateClassTest() { } }

TA貢獻1847條經驗 獲得超11個贊
構造函數用于初始化對象。換句話說,構造函數為對象提供內存。如果不初始化一個對象,我們就不能使用它的屬性。
但是在 Java 中不需要定義或聲明默認構造函數。如果我們沒有聲明或定義它,編譯器會在程序中隱式添加一個默認構造函數。

TA貢獻1887條經驗 獲得超5個贊
當我們在項目結構中實現繼承時,我們需要默認構造函數。
例子:
Class Apple{
Apple(){}
Apple(String a){
System.out.pritnln(a);
}
}
Class Banana extends Apple{
Banana(){}
public static void main(String[] args){
Apple("Eaten");
}
}
在上述場景中,如果您不為類聲明任何默認構造函數,Apple那么它將拋出錯誤:
Implicit super constructor Apple() is undefined for default constructor. Must define an explicit constructor
因為類Banana總是會嘗試調用未參數化的超級構造函數,如果您已經聲明了一個參數化構造函數,那么您必須需要聲明默認構造函數。
添加回答
舉報