我正在做一些基本的Java编程,我必须创建具有链接到其他类构造函数的构造函数的类。例如,请参阅以下代码......
public class Friend {
private String name;
private Date dateOfBirth;
private String phoneNum;
public Friend(String name){
this.name=name;
this.dateOfBirth = null;
}
public Date setDOB(Date input){
return dateOfBirth;
}
}
public class Date {
final int MINDAYSINMONTH=1;
final int MAXDAYSINMONTH=30;
final int MINMONTHSINYEAR=1;
final int MAXMONTHSINYEAR=12;
private int day;
private int month;
private int year;
//constructor
public Date(int day, int month, int year){
this.day=day;
this.month=month;
this.year=year;
}
}
我正在尝试创建新的Friend
,然后更改dateOfBirth
类中的Friend
值,就像这样......
Friend trial = new Friend(input);
trial.setDOB(new Date(2, 15, 1991));
但是我的输出表明我创建了一个新的Friend
,但dateOfBirth
没有更改为我上面提供的值。有人可以帮我理解我做错了什么。
答案 0 :(得分:1)
因为setDOB
方法只返回值
public Date setDOB(Date input){
return dateOfBirth;
}
它在哪里设置任何东西?您应该重命名该方法getDOB
,因为这就是它正在做的事情,并编写一个设置值的正确public void setDOB
。
答案 1 :(得分:0)
您的setDOB
方法错误 - 实际上并没有设置任何内容。
尝试更改此内容......
public void setDOB(Date input){
this.dateOfBirth = input;
}
您可能还应该使用getter方法,以便在设置后检查值...
public Date getDOB(){
return dateOfBirth;
}
答案 2 :(得分:0)
线索:你的二传手将自己当作吸气剂。