请哪位高手来帮我详细讲解一下视频里的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吗?
感谢解答!