[問題] interface implement 請益

看板java作者 (SIMON STONE)時間5年前 (2019/04/10 17:17), 編輯推噓1(1014)
留言15則, 4人參與, 5年前最新討論串1/1
手機排版請見諒 求問,當一類別A實作介面B時,已知B有定義方法C。 若A的父類別有與C同名同參數與回傳設定的方法時,A需要實作C嗎? 另外的問題是那B定義C的意義在哪? 把問題打成文字感覺答案也出來了XD但想確認一下 -- posted from bbs reader hybrid on my Google Pixel 2 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 49.218.7.134 ※ 文章網址: https://www.ptt.cc/bbs/java/M.1554887857.A.C95.html

04/10 17:59, 5年前 , 1F
介面不能有定義的方法
04/10 17:59, 1F

04/10 18:19, 5年前 , 2F
呃,是有定要名稱跟參數但沒有實作內容
04/10 18:19, 2F

04/10 19:09, 5年前 , 3F
A extends P implements B
04/10 19:09, 3F

04/10 19:11, 5年前 , 4F
B有個方法宣告C,P有個方法M與C的signature相同
04/10 19:11, 4F

04/10 19:11, 5年前 , 5F
A會繼承M,所以M就是A對C的實作方法,不是不用實作
04/10 19:11, 5F

04/10 19:12, 5年前 , 6F
如果A裡面再寫一個N與C的signature相同,當然也與M相同
04/10 19:12, 6F

04/10 19:12, 5年前 , 7F
就變成N override M了
04/10 19:12, 7F

04/10 19:13, 5年前 , 8F
B定義C的意義在,其他用B的哪知道他用的B是個A還是P還是其
04/10 19:13, 8F

04/10 19:14, 5年前 , 9F
他,當然就照著B定義的C去使用啊
04/10 19:14, 9F

04/10 19:15, 5年前 , 10F
↑ 更正P沒有implements B的話,P不能被當成B用
04/10 19:15, 10F

04/10 19:30, 5年前 , 11F
感謝回應,但A沒有實作B的話還是可以用C壓
04/10 19:30, 11F

04/10 23:34, 5年前 , 12F
跟A能不能用無關,問題在其他只知道B不知道A的人能不能用
04/10 23:34, 12F

04/10 23:35, 5年前 , 13F
至於為什麼其他人要只用B,不直接import A,或是更根本的為
04/10 23:35, 13F

04/10 23:36, 5年前 , 14F
什麼要有介面這東西,就要自己去看看多型觀念了
04/10 23:36, 14F

04/13 00:05, 5年前 , 15F
A 沒有 implement C 的話,compile 不會成功
04/13 00:05, 15F
文章代碼(AID): #1ShRInoL (java)