黑马程序员技术交流社区
标题:
p2=p1;p2.setAge(1)后。为何还equals==?p1.getAge()怎么就=1了?
[打印本页]
作者:
poi1234bnm
时间:
2016-11-6 13:32
标题:
p2=p1;p2.setAge(1)后。为何还equals==?p1.getAge()怎么就=1了?
People p1 = new People(21,"lisi");
People p2 = new People(21,"lise");
p2= p1;
p2.setAge(1);
System.out.println(p1.getAge());
System.out.println(p2.getAge());
System.out.println(p1.equals(p2));
System.out.println(p1==p2);
class People{
int age;
String name;
public People(int age, String name) {
super();
this.age = age;
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
结果:
1
1
true
true
作者:
skyleon
时间:
2016-11-6 13:42
建议看一下第六天的的这个视频:06.09_面向对象(三个引用两个对象的内存图).avi .答案就在里面
作者:
Routee
时间:
2016-11-6 18:08
p2=p1就已经指向同一个地址了,以后只要不改变引用地址的话什么都一样
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2