object2
this==obj??? this和obj不是两个new吗 怎么用==后能返回true呢
this==obj??? this和obj不是两个new吗 怎么用==后能返回true呢
2017-03-19
public boolean equals(Object obj) {
//如果两个指向相同的内存空间,那么后面语句可以不用执行了,因为这两个指向的是一个对象
if (this == obj)
return true;
其中的 this 代表这个类的对象,比如你有个 Animal类,其中有 name,age 属性,这时你可以用 this.name ,this.age ,来调用这个对象的属性(前面课程有讲到), obj 代表的是 通过参数传递进来的 Object类 对象(至于这里为什么要用 Object类,因为 Object 类是所有类的父类,这里用了 Object类,如果后面是其他类,就直接可以通过强制类型转化),
比如: dog.equals(dog2) 意思就是 dog(就是你代码中的 this)如果和 dog2(你代码中的obj)的指向地址相同,说明两个指向同一个对象,所有两个直接就相等了(true)而不用比较属性值了。
举报