Dog other = (Dog) obj;類型都一樣了,為什么還要轉(zhuǎn)換?????
//如果另一個對象和當前對象類型都不一樣,那么肯定不相等,返回false
if (getClass() != obj.getClass())
return false;
//到這一步,傳進來的對象肯定和當前對象類型一樣了,那么為什么還要有下面的轉(zhuǎn)換呢????????(求解)
Dog other = (Dog) obj;
//如果另一個對象和當前對象類型都不一樣,那么肯定不相等,返回false
if (getClass() != obj.getClass())
return false;
//到這一步,傳進來的對象肯定和當前對象類型一樣了,那么為什么還要有下面的轉(zhuǎn)換呢????????(求解)
Dog other = (Dog) obj;
2015-11-21
舉報
2016-04-27
大概是說,obj可能是父類的一個應(yīng)用,eg:Animal obj=new Dog();
說錯了請改正!
2016-04-27
http://blog.csdn.net/kaiwii/article/details/8042488? ? 多態(tài)的父類引用指向子類對象
2016-01-20
前面只是判斷了類對象是否一致 ,但是并不能保證類的對象也就是屬性的值是否相同,如果屬性的值不同就會返回false,提示兩個對象不相等
2015-11-21
這個是多態(tài)
if (getClass() != obj.getClass())
return false; 只是證明了 obj是Dog這個類的對象,但是多態(tài)的父類引用指向子類對象 這時的obj也滿足上面的條件
所以就需要類型強轉(zhuǎn)