回 帖 发 新 帖 刷新版面

主题:我是新手,能帮我解决一下这个问题吗?

public class MyDate
{   private int year=2007;
    private int month=6;
private int day=8;
public mydate(){}
    public mydate(int i,int j,int k)
{
  [color=FF0000][color=C0C0C0][color=FF0000][color=0000FF][color=008080][color=0000FF][color=FF0000] year=i; month=j; day=k;[/color][/color][/color][/color][/color][/color][/color]}
public void setyear(int i)
{
  year=i;
}
public int getyear()
{
  return year;
}
public void setmonth(int j)
{
  month=j;
}
public int getmoth()
{
  return month;
}
public void setday(int k)
{
  day=k;
}
public int getday()
{
  return day;
}
public void display()
{
  System.out.println("year:"+year+"month:"+month+"day:"+day);
}
}






public class myday  
{
public static void main(String args[]) 
{
  mydate d1;
  d1=new mydate(2008,8,8);
  d1.display();
  mydate d2;
  d2=new mydate();
  d2.display();
}
}


我是一个初学者,我想问一下有颜色的部分改为int year=i;int month=j;int day=k;后
就出现下面的main方法中的对象调用的都是那个public madate(){}构造方法
从而输出都是year:2007month:6day:8,d1,d2输出的结果都一样
public mydate(int i,int j,int k)
{
   year=i; month=j; day=k;
}
当这个i,j,k利用方法赋值后,因为i,j,k是局部变量在赋值完以后就释放,所以当该语句执行完以后i,j,k就清0;
public void setyear(int i)
{
  year=i;
}
public int getyear()
{
  return year;
}
public void setmonth(int j)
{
  month=j;
}
public int getmoth()
{
  return month;
}
public void setday(int k)
{
  day=k;
}
public int getday()
{
  return day;
}
帮忙在看一下这个,i,j,k已经清0了,如果进行赋值后,那year,month,day岂不是都为0啦,这与执行结果不符,您能帮我看一下,是哪个地方有问题?
拜托啦!!!!!!!!!!!!

回复列表 (共1个回复)

沙发

谢谢大家的光顾,这个问题我昨天想了一个晚上,已经解决了,呵呵呵呵,谢谢大家了

我来回复

您尚未登录,请登录后再回复。点此登录或注册