n.addYear()为什么结果显示year没加1呢?
public class MyDate{
private int day=12;
private int month=6;
private int year=1900;
public MyDate(int y,int m,int d){
year=y;
month=m;
day=d;
}
void addYear()
{
year++;
}
public void display(){
System.out.println(year+"-"+month+"-"+day);
}
public static void main(String[] args){
MyDate m,n;
m = new MyDate(22,9,2003);
n=m;
n.addYear();
m.display();
n.display();
}
}
n.addYear()为什么结果显示year没加1呢?
还有public MyDate(int y,int m,int d){
year=y;
month=m;
day=d;
这句是不是没用呢?
最后执行的m = new MyDate(22,9,2003);不是上面那个方法啊?如果是的话应该22是年,9是月,2003是日啊,为什么最后还是2003是年呢?public MyDate(int y,int m,int d)不是构造方法吗?
问题点数:0、回复次数:4Top
1 楼JiangJason()回复于 2005-06-01 16:01:56 得分 0
不好意思,在我这边结果是:
23-9-2003
23-9-2003Top
2 楼treeroot(旗鲁特)回复于 2005-06-01 16:09:13 得分 0
谁说没有加呀??Top
3 楼lvy1984(可爱小甜甜)回复于 2005-06-01 16:12:32 得分 0
哦,我看错了,但为什么m.display()和n.display()结果一样呢?明明N就加了1,M没加1啊?Top
4 楼chinamao(蓬蓬)回复于 2005-06-01 16:33:27 得分 0
但为什么m.display()和n.display()结果一样呢?
回答: n=m;这样n和m实际上是同一个对象,n,m相当于对于一个对象的不同的名称,所有
对其中任意一个的操作,都是同样的效果.
还有public MyDate(int y,int m,int d){
year=y;
month=m;
day=d;
这句是不是没用呢?
这当然有用了,这是构造函数亚.
另外你的 new MyDate(22,9,2003);令人误解.应该是 new MyDate(2003,9,22);吧
Top




