代码中为什么第一次输出name属性是改变后的,第二次没有改变呢
public class Main {
public static void main(String[] args){
Person p = new Person("lisi",21); //创建一个对象
Person[] p1 = {new Person("zs",20),p};//创建一个对象数组
Person[] p2 = p1;
p2[1].setName("ww");//对第二个元素的name属性进行传参操作
System.out.println(p.getName());//第一次输出对象p中的name属性
p2[1] = new Person("xxx",25);
System.out.println(p.getName());//第二次输出对象p中的name属性
}
}
class Person{
private String name;
private int age;
public static int count;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public Person(String name,int age){
this.name = name;
this.age = age;
}
}
|
|