传递构造函数参数以初始化对象
问题描述:
我在写一个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;
}
答
这将取决于生日类是否被通过某种方式连接(延长或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构造函数。 –
看起来像你想'this.birthday = new MyDate(month,day,year);' - 这就是你如何调用构造函数。 (顺便说一下,我强烈建议你将这些参数重新排序为年,月,日 - 涉及两个班级。) –
我想我尝试过除了那个之外的每种组合。哈哈谢谢! – Kevin