黑马程序员技术交流社区
标题:
java接口问题
[打印本页]
作者:
李道福
时间:
2013-3-22 22:14
标题:
java接口问题
本帖最后由 李道福 于 2013-3-22 23:33 编辑
在java中类只能单继承但能实现多个接口,那如果一个类实现了多个接口,而多个接口中有相同的方法(相同的方法名和参数)
那类对象在调用这个方法时,如何区分是调用了那个接口中的方法?
作者:
刘海陆
时间:
2013-3-22 22:17
接口的方法,需要复写吧
作者:
freeboyhrk
时间:
2013-3-22 22:22
看这个类实现了哪个借口,implement 后面是哪个接口,就是调用了哪个接口里的方法
作者:
葛伟
时间:
2013-3-22 22:23
要是参数类型一致的话,返回类型不一致会报错,编译不过,要是返回类型也一致的话那么就相当于两个都实现了,你既可以把它当成一个interface1的对象,也可以当成一个interface2的对象,都没有问题的。
作者:
梅杰明
时间:
2013-3-22 22:31
因为这个相同方法内没有方法体,复写了不会发生调用问题
作者:
HM马明宇
时间:
2013-3-22 22:54
接口的存在就是定义功能,两个接口定义同样的功能,就是相同的接口了,只不过名字不同而已。
就像你电脑上有多个USB接口,没在同一个位置,功能相同。
你不可能同时把一个U盘插进多个usb接口里面去吧?
只能实现继承的某一个接口中的抽象方法。你要实现两次的话就相当于一完全相同的个方法写两次,会造成方法的重定义的,会引起错误!
测试发现会实现implements关键字后面(存在多个相同功能的接口)的第一个接口上,例如:
public class Test implements A,B {
接口实现;//实现的是A接口中的功能
}
希望你能搞明白~~
作者:
HM马明宇
时间:
2013-3-22 22:57
第三行文字表述有误,不好意思,正确如下:
个
写错位置了
只能实现继承的某一个接口中的抽象方法。你要实现两次的话就相当于
一
完全相同的
个
方法写两次,会造成方法的重定义的,会引起错误!
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2