2015-09-05 186 views
0

我在寫一個java類,它借用了另一個類的元素,並且需要傳遞構造函數的四個參數中的三個來初始化其他類對象。不過,我失去了如何初始化它。任何幫助深表感謝。這就是我現在所擁有的:傳遞構造函數參數以初始化對象

private String name; 
    private MyDate birthday; 

    /** 
    * Constructs a new Person object. 
    */ 
    public Person(String name, int month, int day, int year) { 
     this.birthday = birthday(month, day, year); 
     this.name = name; 

    } 
+7

看起來像你想'this.birthday = new MyDate(month,day,year);' - 這就是你如何調用構造函數。 (順便說一下,我強烈建議你將這些參數重新排序爲年,月,日 - 涉及兩個班級。) –

+0

我想我嘗試過除了那個之外的每種組合。哈哈謝謝! – Kevin

回答

0

這將取決於生日類是否被通過某種方式連接(延長或friended),或者如果birthday.birthday場是公開訪問。

例如,如果你想跟上良好的做法。你可以設置一個 GetBirthday();方法在生日課堂內,並執行以下操作。

private MyDate birthdate; 


public Person(String name, int month, int day, int year) { 
    birthday bDay = new birthday(month, day, year); 
    this.birthdate = bDay.GetBirthday(); 
    this.name = name; 

} 

您還可以創建一個內聯函數的生日(),計算生日,但我不會建議做這樣。

+2

我不清楚生日課有什麼必要(這當然不會叫'生日',並且不會有'GetBirthday',IMO的方法] - 請參閱我的評論。在我看來,所有需要的是調用MyDate構造函數。 –

相關問題