a,b保存的内存地址不同,修改b的值,为什么a的值也随之改变?
克隆是不会相等的,参考:
package com;
public class TestMain {
public static void main(String args[]) throws Exception {
Person p = new Person(20,"张三");
System.out.println(p.getName()+","+p.getAge());
Person p1 = (Person)p.clone();
p1.setName("李四");
System.out.println(p1.getName()+","+p1.getAge());
}
}
class Person implements Cloneable{
private int age ;
private String name;
public Person(int age, String name) {
this.age = age;
this.name = name;
}
public Person() {}
public int getAge() {
return age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Override
protected Object clone() throws CloneNotSupportedException {
return (Person)super.clone();
}
}