作者paulstone (SIMON STONE)
看板java
標題[問題] interface implement 請益
時間Wed Apr 10 17:17:35 2019
手機排版請見諒
求問,當一類別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://webptt.com/m.aspx?n=bbs/java/M.1554887857.A.C95.html
1F:→ p31819: 介面不能有定義的方法 04/10 17:59
2F:→ paulstone: 呃,是有定要名稱跟參數但沒有實作內容 04/10 18:19
3F:→ ssccg: A extends P implements B 04/10 19:09
4F:→ ssccg: B有個方法宣告C,P有個方法M與C的signature相同 04/10 19:11
5F:→ ssccg: A會繼承M,所以M就是A對C的實作方法,不是不用實作 04/10 19:11
6F:→ ssccg: 如果A裡面再寫一個N與C的signature相同,當然也與M相同 04/10 19:12
7F:→ ssccg: 就變成N override M了 04/10 19:12
8F:→ ssccg: B定義C的意義在,其他用B的哪知道他用的B是個A還是P還是其 04/10 19:13
9F:→ ssccg: 他,當然就照著B定義的C去使用啊 04/10 19:14
10F:→ ssccg: ↑ 更正P沒有implements B的話,P不能被當成B用 04/10 19:15
11F:→ paulstone: 感謝回應,但A沒有實作B的話還是可以用C壓 04/10 19:30
12F:→ ssccg: 跟A能不能用無關,問題在其他只知道B不知道A的人能不能用 04/10 23:34
13F:→ ssccg: 至於為什麼其他人要只用B,不直接import A,或是更根本的為 04/10 23:35
14F:→ ssccg: 什麼要有介面這東西,就要自己去看看多型觀念了 04/10 23:36
15F:推 kohmiho: A 沒有 implement C 的話,compile 不會成功 04/13 00:05