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

重写的equals()方法,四个IF 语句直接是 且的关系 还是或的关系?

tel1 和 tel2 应该是开辟了两块内存地址,为什么会相等呢

正在回答

3 回答

且 (只要有一个flase就返回false)

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

  

public class Dome5 {

    int age;

    public boolean equals(Object obj) {

        if(this == obj) {

            return true;

        }  

        if(obj == null) {

            return false;

        }

        if(this.getClass() != obj.getClass()) {

            return false;

        }

        if(this.age != obj.age) {

         return false; 

        }

         return true;

    }

}

//这里的 if语句 其实就是省略了一对大括号,就是这样 遇到一个return语句这个方法就结束了。

//为什么不相等?因为你重写了equals()方法啊,你改变了 判断它们相等 方法。

   


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

注意后面重写时,if条件不成立的情况下是继续执行,并没有马上返回。直到最后的年龄比较执行完毕,才输出返回值。

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

举报

0/150
提交
取消

重写的equals()方法,四个IF 语句直接是 且的关系 还是或的关系?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信