如果我有
public class Bike{ private int speed; public void setSpeed(int speed){ this.speed=speed; } public int getSpeed(){ return speed; }
然后,如果我创建Bike a=new Bike(); 并执行
Bike a=new Bike();
Bike b=a; b.setSpeed(12);
自行车的速度也会a改变吗?如果没有,那有什么办法吗?
a
是的,它将改变。Java Assignment操作仅创建对该对象的新 引用 。换句话说写类似
Object objectA = objectB
会 不会 复制对象中的所有值。objectA和objectB都指向该类的相同 实例 。
如果要复制对象的所有值,则应查看克隆