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

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

向下轉型失敗,不能表達

向下轉型失敗,不能表達

qq_王祥_2 2017-01-28 16:11:18
/* 描述圖書:book?? ????作者,書名,價格。 ????行為:6個set?get ????建立book比較相同的依據。只要書名相同就視為同一本書。??字符串判斷相同:請查api文檔。equals方法,String類重寫Object類中的equals ????建立book對象的字符串表現形式。?Book[作者:+??書名?+??價格] ????*/ class?Book?extends?Object{ //屬性 private?String?author; private?String?name; private?double?price; //六個方法 void??setAuthor(String?author){ ????this.author=author; } String??getAuthor(){ ????return?this.author; } void??setName(String?name){ ????this.name?=name; } String??getName(){ ????return?this.name; } void??setPrice(double?price){ ????this.price=price?; } double?getPrice(){ ????return?this.price; } //重寫equals方法. public?boolean?equals(Object?obj){//object類型的參數? //如果調用該方法的對象和傳入該方法的對象是同一個則返回true; if?(this==obj) ????return?true; //比較子類中的方法,應向下轉型 if?(!(obj?instanceof?Book)) ????return?false; throw?new?ClassCastException("數據類型錯誤,請改正"); Book?book=(Book)obj; return?this.name==book.name; } } class?objectTest{ ????public?static?void?main(String[]args){ ????Book?k1=new?Book(); ????k1.setName("古龍"); ????k1.getName(); ???Book?k2=new?Book(); ????k2.setName("天涯明月刀"); ????k2.getName(); ????System.out.println(k1.equals(k2)); } }
查看完整描述

4 回答

?
Goozy

TA貢獻6條經驗 獲得超4個贊

? ? ? ?你那個不是向下轉型的問題。我在eclipse看過,你那個方法在第一個if就退出了方法,下面的代碼就不會執行了,eclipse報錯是unreachable code:不會執行的代碼。你把向下轉型放在第一個if前面就沒有報錯。 還有所有類如果沒有說明繼承那個父類,默認是繼承Object。 ? ? ? ? ? ? ? ? ? ??

查看完整回答
1 反對 回復 2017-01-28
  • 4 回答
  • 0 關注
  • 1702 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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