双匿 2017-10-02 07:04 采纳率: 0%
浏览 737

新手java入门的程序,关于拷贝

public class account {
public int number,id;
public static int value;
public String time;
public String name;
static int count=0;

public account(int number,String name,String time,int id,int value)
{
this.number=number;
this.name=name;
this.time=time;
this.id=id;
this.value=value;

count++;
}

public account(){
this(1,"c","1996",54163,5700);
account.count++;
}

public account(account a){
this(a.number,a.name,a.time,a.id,a.value);
account.count++;
}

public void finalize()
{
System.out.print("释放对象("+this.toString()+")");
account.count--;
}

public void put(int x){
value=value+x;
}

public String toString(){

return number+","+name+","+time+","+id+","+value;

}

public static void main(String args[])
{
account a1=new account(1,"张","1996",54163,5700);
a1.put(2000);
account a2=new account(a1);
a2.name="李";a2.number=50;a2.id=57560;
a2.put(1000);
System.out.print(a1.toString()+"和"+a2.toString());
a1.finalize();
a2.finalize();
}
}
put那边我希望a1是存2000,a2存1000,但是结果都是8700,都是存的两千,是拷贝构造的问题吗,应该怎么解决

  • 写回答

5条回答 默认 最新

  • 奋斗的小杨 2017-10-02 09:52
    关注

    value的属性是静态的那么他就属于类变量,也为所有对象共享,

    评论

报告相同问题?

悬赏问题

  • ¥30 帮我写一段可以读取LD2450数据并计算距离的Arduino代码
  • ¥15 C#调用python代码(python带有库)
  • ¥15 矩阵加法的规则是两个矩阵中对应位置的数的绝对值进行加和
  • ¥15 活动选择题。最多可以参加几个项目?
  • ¥15 飞机曲面部件如机翼,壁板等具体的孔位模型
  • ¥15 vs2019中数据导出问题
  • ¥20 云服务Linux系统TCP-MSS值修改?
  • ¥20 关于#单片机#的问题:项目:使用模拟iic与ov2640通讯环境:F407问题:读取的ID号总是0xff,自己调了调发现在读从机数据时,SDA线上并未有信号变化(语言-c语言)
  • ¥20 怎么在stm32门禁成品上增加查询记录功能
  • ¥15 Source insight编写代码后使用CCS5.2版本import之后,代码跳到注释行里面