2013-03-04 73 views
0

我正在做一個任務,要求我創建一個默認的構造函數和第二個構造函數,期望所有三個值作爲參數傳遞。從兩個構造函數中調用「set」方法「我已經完成了第二個構造函數,如下所示;如何從默認構造函數調用set方法?

public Cat(String newName, int newYearOfBirth, int newWieghtInKilos) 
{ 
    setName(newName); 
    setYearOfBirth(newYearOfBirth); 
    setWeightInKilos(newWieghtInKilos); 
} 

如何創建一個調用set方法的默認構造函數?

回答

0

您可以簡單地在默認構造函數中設置默認值。

public Cat() { 
    setName("MyName"); 
    setYearOfBirth(1987); 
    setWeightInKilos(55); 
} 

或者,您也可以設置空值。

1

空的構造函數可以使用具有默認值的setter。

public Cat() 
{ 
    setName(defaultName); 
    setYearOfBirth(defaultYearOfBirth); 
    setWeightInKilos(defaultWieghtInKilos); 
} 
0

您可以像在重載構造函數中一樣調用默認構造函數中的setters。

這裏唯一的區別是在默認構造函數中,沒有給任何值傳遞給setters。

但是,如果您希望使用默認值對這些字段進行初始化,您可以使用這些默認值調用setters。

1

您可以告訴受讓人,從兩個構造函數中調用set方法都是錯誤的做法。你的默認構造函數可能會愉快地使用帶默認值的參數構造函數。

public Cat(){ 
    this("",0,0); 
} 

這將有助於代碼重用。