亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

看不懂Object的這個意思

看不懂Object的這個意思

qq_踏雪_5 2018-02-17 23:38:02
public boolean equals(Object obj) {//括號里是創建了一個obj的Object類 if(obj==null) return false; Animal temp=(Animal)obj; ?//這里看不懂,(Animal)obj 為什么這么寫? if(this.getName().equals(temp.getName())&&( this.getMonth()==temp.getMonth())); return true; else return false;
查看完整描述

1 回答

已采納
?
慕慕1581088

TA貢獻8條經驗 獲得超9個贊

這樣可能拋異常ClassCastException 類型轉換異常

強轉前應該判斷一下obj對象是不是Animal的類型的

public boolean equals(Object obj) {//括號里是創建了一個Object類型的引用? 相當于

//?Object obj = 傳入的參數 // 自動類型提升 即父類引用指向子類對象 Object是所有類的父類

if(obj==null)

return false;

// 如果objj對象是Animal類型的

if(obj instanceof Animal)

????Animal temp=(Animal)obj; ?// 將obj強轉成Animal類型 向下轉型?

????//因為這里要調用Animal類中的特有方法, 即getName(),getMonth(),

????//?Object中無此方法,為了保證編譯通過,只能將obj強轉成Animal類型 向下轉型?

if(this.getName().equals(temp.getName())&&( this.getMonth()==temp.getMonth()));

return true;

else

return false;


查看完整回答
1 反對 回復 2018-02-17
  • 1 回答
  • 0 關注
  • 1216 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號