社区
Java SE
帖子详情
Java中一个类要怎么实现两个接口中相同的方法名
superjava000
2009-10-09 08:40:28
interface I1
{
void get();
}
interface I2
{
void get();
}
假如有一个类要实现上面两个接口中的方法
要怎么才能顺利的调用到
...全文
1833
32
打赏
收藏
Java中一个类要怎么实现两个接口中相同的方法名
interface I1 { void get(); } interface I2 { void get(); } 假如有一个类要实现上面两个接口中的方法 要怎么才能顺利的调用到
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
32 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Harryfin
2012-04-05
打赏
举报
回复
最近我也遇到了这个问题
大哥们,你要知道接口方法重名是很正常的啊。你自己写的就说能保证不重名,但是如果你是实现了两个第三方的接口呢?难道这两个公司提供的接口还要协商大家的接口方法不能重名吗???
这点不能不说JAVA真不行,连比C#更早的DELPHI都支持区分不同接口的同名方法
xingqiliudehuanghun
2009-10-10
打赏
举报
回复
无解,这个问题JavaEye上好多高手已经讨论过了。
warmlou
2009-10-10
打赏
举报
回复
[Quote=引用 25 楼 flyerwing 的回复:]
重载不行吗?
[/Quote]
重载是同一个类里方法名相同,返回类型和参数类型或数量不同的多态表现 ,他现在是2个接口中2个一样的方法
flyerwing
2009-10-10
打赏
举报
回复
重载不行吗?
ddrr2009
2009-10-10
打赏
举报
回复
如果方法体内的都 一样的话,就一样了,呵呵http://bbs.tsp2c.cn/?fromuid=136 可以参考下
kent4j
2009-10-10
打赏
举报
回复
不能同时实现两个接口
因为回造成编译的歧异
而且这样做是没有意义的
healer_kx
2009-10-10
打赏
举报
回复
结贴吧~
zhongcheng60
2009-10-10
打赏
举报
回复
应该避免这样吧?
如果一定要这么做
用 内部类
bigbro001
2009-10-10
打赏
举报
回复
到底是c#好还是Java好啊~犹豫不决~
网络咖啡
2009-10-09
打赏
举报
回复
不可以,修改接口吧!
ZangXT
2009-10-09
打赏
举报
回复
[Quote=引用 20 楼 superjava000 的回复:]
先谢谢你们来回复
我只是单纯的想知道
是否java可以这样做
[/Quote]
最终答案:不可以.
superjava000
2009-10-09
打赏
举报
回复
[Quote=引用 19 楼 ouyangyh 的回复:]
觉得没有什么意思
你同时实现两个接口,又不一样调用方法
只有转换成接口对象才能使用
这样有什么好的?
[/Quote]
就是为了多态啊
superjava000
2009-10-09
打赏
举报
回复
先谢谢你们来回复
我只是单纯的想知道
是否java可以这样做
ouyangyh
2009-10-09
打赏
举报
回复
觉得没有什么意思
你同时实现两个接口,又不一样调用方法
只有转换成接口对象才能使用
这样有什么好的?
blliy117
2009-10-09
打赏
举报
回复
[Quote=引用 1 楼 zangxt 的回复:]
写一个void get(){}方法就同时满足了两个接口的要求,ok
[/Quote]
正确,就这么容易,不会有冲突。
因为依赖的是实现,而不是抽象
healer_kx
2009-10-09
打赏
举报
回复
理论上,应该同名的方法,表达同一个意义的行为,比如说release()
难道走两个release?
当然走一个就OK了。
C#的语法确实NB,想到了这种情况,于是可以搞更清晰的语义了。
舷Kelvin
2009-10-09
打赏
举报
回复
类里写一个get方法就行。和一般情况一样。
euroman
2009-10-09
打赏
举报
回复
问个问题,I1和I2除了名称不同,功能上有什么区别吗?
sohighthesky
2009-10-09
打赏
举报
回复
[Quote=引用 12 楼 sohighthesky 的回复:]
跟c#一样使用
[/Quote]
失误,以前怎么写的忘 了
ZangXT
2009-10-09
打赏
举报
回复
[Quote=引用 10 楼 superjava000 的回复:]
好像也只能用
内部类了
那么说起来java比c#的功能差些吗
[/Quote]
c#是继承了更多的C++的思想,无所谓好坏,思路不同。
加载更多回复(11)
Java
中
一个
类怎么
实现
两个
接口
中
相同
名
字的抽象
方法
看 HeadFirst
Java
时,作者说,为了解决多重继承所引起的“致命方块问题” 所以我们
Java
不用多重继承,用多重
实现
,but,如果
实现
了
两个
接口
中
,有
相同
名
字的抽象
方法
,那不还是避免不了所谓的“致命方块”吗?Friend
接口
:public interface Friend { public abstract void play() ; public abstra
为什么
Java
中
一个
类可以
实现
多个
接口
,但只能继承
一个
类?
多继承会产生钻石问题(菱形继承) 类 B 和类 C 继承自类 A,且都重写了类 A
中
的同
一个
方法
类 D 同时继承了类 B 和类 C 对于类 B、C 重写的类 A
中
的
方法
,类 D 会继承哪
一个
?这里就会产生歧义 考虑到这种二义性问题,
Java
不支持多重继承
Java
支持类
实现
多
接口
接口
中
的
方法
是抽象的,
一个
类
实现
可以多个
接口
假设这些
接口
中
存在
相同
方法
(
方法
名
与参数
相同
),...
java
一个
类只能
实现
一个
接口
_
java
中
,
一个
类
实现
某个
接口
,必须重写
接口
中
的所有
方法
吗?...
不一定,关键要看子类是否是抽象类。如果子类是非抽象类,则必须
实现
接口
中
的所有
方法
;如果子类是抽象类,则可以不
实现
接口
中
的所有
方法
,因为抽象类
中
允许有抽象
方法
的存在!1、抽象类定义抽象类往往用来表征对问题领域进行分析、设计
中
得出的抽象概念,是对一系列看上去不同,但是本质上
相同
的具体概念的抽象。通常在编程语句
中
用 abstract 修饰的类是抽象类。在C++
中
,含有纯虚拟函数的类称为抽象类,它不能生成...
java
--类继承和
实现
的
接口
中
含有
相同
的
方法
http://www.cnblogs.com/plxx/p/3377902.html 首先,说一下,当某
一个
类
实现
了
两个
接口
的时候,
两个
接口
中
存在
两个
相同
的
方法
,在
实现
的类
中
只需
实现
一个
方法
的
方法
体。 当
一个
类继承
一个
类,并且
实现
一个
或者多个
接口
的时候,其
中
,父类和父
接口
中
存在
相同
的
方法
。 如果子类
中
存在该
方法
的
实现
体或者说是覆盖,则使用该类的对象去掉用该
方法
时候,其实掉用的是来自
接口
的...
JAVA
中
一个
接口
多个
实现
类时如何判定。
例子: 1. 直接new
一个
实例,这样肯定知道用的哪个实例 2. 定义
接口
类型的变量,用某个实例去初始化。。。这样也是肯定知道用的哪个实例 一般我们用第二种方式有
一个
好处,如果以后要改动,那么只需要修改其引用的实例,改动较少! 举个例子:A
接口
,A1,A2,A3
实现
A
接口
,有
一个
eat
方法
,A1:吃饭,A2:吃鱼,A3:吃肉 需要得到"吃肉",那么 A a = new A3(); 需要得到...
Java SE
62,614
社区成员
307,319
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章