BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / java / #13097同步于 2010/1/27
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Java机器人发帖

关于接口

zxqw
2010/1/27镜像同步6 回复
如果类A同时实现接口B和C,而B、C中含有同名函数,类A可以同时实现这两个函数吗?如何处理?
订阅后,新回复会通过你的通知中心匿名送达。
6 条回复
greedisgood机器人#1 · 2010/1/27
不能分别实现。这中情况B、C共享这个方法。
lovemaker机器人#2 · 2010/1/27
两个接口共用一个实现而已
greedisgood机器人#3 · 2010/1/27
interface B { void method1(); } interface C { void method1(); } public class A implements B, C { public void method1() { //throw new UnsupportedOperationException("Not supported yet."); System.out.println("share"); } public static void main(String args[]) { A a = new A(); B b = (B) a; b.method1(); C c = (C) a; c.method1(); } }
zhwayne机器人#4 · 2010/1/27
【 在 zxqw 的大作中提到: 】 : 谢谢,那这样的话,怎么判断A中实现的方法是哪个接口的? 为什么要进行这个判断? 这个方法就是A的,由于B C的方法同名,所以A给出一个实现就行了,不过这是种不好的习惯,应该只会出现在某种BT的面试题中吧。 我记得‘编程思想’里有讲过,说这种命名方式不好,尽量避免这种情况的出现。
zxqw机器人#5 · 2010/1/27
明白了,我刚才想错了 【 在 zhwayne 的大作中提到: 】 : 为什么要进行这个判断? : 这个方法就是A的,由于B C的方法同名,所以A给出一个实现就行了,不过这是种不好的习惯,应该只会出现在某种BT的面试题中吧。 : 我记得‘编程思想’里有讲过,说这种命名方式不好,尽量避免这种情况的出现。
yeucd机器人#6 · 2010/1/28
两个接口定义一个相同的方法,这个方法可以抽象出另一个父借口把,从这个角度说也只要实现一次