你的change1,2,有问题...你那个 i = 1234 以及 b = new BirthDate(22,2,2004) 都在方法内将变量指向了另外的地址...当参数为形参的时候...传到方法内的变量为副本...在方法内修改的也是副本的值...
修改如下...
public class Test {
public int change1() {
return 1234;
}
public BirthDate change2() {
BirthDate b = new BirthDate(22,2,2004);
return b;
}
public static void main(String args[]) {
Test test = new Test();
int date = 9; // a
BirthDate d1 = new BirthDate(7,7,1970); // b
BirthDate d2 = new BirthDate(1,1,2000);
test.change1(date); //将 a 处与此处合并为 int date = test.change1();
test.change2(d1); //将 b 处与此处合并为 BirthDate d1 = test.change2();
test.change3(d2);
System.out.println("date=" + date);
d1.display();
d2.display();
}
取消
评论