实现两个不同的接口时,两个接口时存在同名的方法,如何处理。

wzz80 2009-08-13 08:30:42
public interface I1 {
void fun();
}
public interface I2 {
void fun();
}
public class Imp implements I1,I2 { //编译不过

}

两个接口都有同一个方法,那么怎么在类Imp中补全I1和I2中fun()方法
...全文
280 7 打赏 收藏 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
铁匠梁老师 2009-08-13
  • 打赏
  • 举报
回复
既然是接口,会使用你的内部类吗?接口一般都是API级别的方法定义,是不是要把内部类也抽象出来。
不好
都市夜猫 2009-08-13
  • 打赏
  • 举报
回复
不错,用内部类算个偏方
编译器不抱怨了,使用类的人可能有意见了
zck_yy2007 2009-08-13
  • 打赏
  • 举报
回复
结贴给分吧
zck_yy2007 2009-08-13
  • 打赏
  • 举报
回复
public interface I1 {
void fun();
}
public interface I2 {
void fun();
}
public class Imp implements I1 { //编译不过

public void fun()
{}

public innerclass implements I2 {

public void fun()
{}

}

public innerclass getclass {
return = new innerclass();
}


public static void main(String argv[]){
fun();
getclass.fun();
}
}


用内部类可以实现两个接口含有相同方法定义的情况。
gesanri 2009-08-13
  • 打赏
  • 举报
回复
你这种情况jvm根本无法判断两者区别啊,肯定编译不过,你可以让两个接口中的fun的参数个数或类型不同,实现的时候区别对待
老紫竹 2009-08-13
  • 打赏
  • 举报
回复
接口1里面的方法是让一个物体去死
接口2里面的方法是让一个物体去活

你让一个类同时实现了一个名字相同的方法,你说是去死还是去活?

这是设计问题,不是技术问题!

62,620

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧