为了账号安全,请及时绑定邮箱和手机立即绑定

object2

this==obj???  this和obj不是两个new吗  怎么用==后能返回true呢

正在回答

1 回答

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)而不用比较属性值了。

1 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Java入门第二季
  • 参与学习       531528    人
  • 解答问题       6329    个

课程升级!以终为始告别枯燥,在开发和重构中体会Java面向对象编程的奥妙

进入课程
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号