请哪位高手来帮我详细讲解一下视频里的equals()方法体,谢谢。
public boolean equals(Object obj){ if(this==obj) return ture; if(obj==null) return false; if(getClass()!=obj.getClass()) return false; Dog other=(Dog) obj; if(age!=other.age) return false; return ture; } 这段代码看不懂,能帮我讲下吗?谢谢。 着重问题: 1、进行比较的后者是Dog dog,为什么要用Object obj呢? 2、第六行if(getClass()!=obj.getClass())第一个getClass()前面不用加this吗? 3、由getClass()确定为相同类型后,obj转换成Dog类,代码:Dog other=(Dog) obj;还需要用other来代替obj吗?那么创建Dog other对象的代码隐藏在哪里了呢? 4、第九行if(age!=other.age)前面一个age不用加this或者dog吗? 感谢解答!