作者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/cn.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