黑马程序员技术交流社区

标题: 关于接口的实现问题? [打印本页]

作者: 秦岩    时间: 2012-4-3 22:31
标题: 关于接口的实现问题?
一个类可以同时实现2个接口吗?任何两个接口都可以吗?
作者: 秦超    时间: 2012-4-3 22:37
java是单继承多实现的,可以实现多个接口,但是只能继承一个类,不过接口之间可以多继承
作者: 胡川    时间: 2012-4-4 00:11
可以,这也是JAVA多态的一种体现吧,单继承,多实现
作者: niceBoy    时间: 2012-4-4 00:12

可以,任何两个都可以
作者: 攻城狮    时间: 2012-4-4 00:17
可以,这也是JAVA多态的一种体现吧,单继承,多实现 ,
注意:多实现的时候如果多个接口中的方法名相同 返回值类型不同 不可以哦 在调用时不知道要用哪一个
public interface Cat1 {
   public void get();
}

public interface Cat2 {
   public int get();
}

public class Cat implements Cat1,Cat2 {}
作者: 强文何    时间: 2012-4-5 20:09
一个类可以实现多个接口。
但并不是任何两个都行。
当返回值类型不同时不行,哪怕方法名、参数列表相同。
作者: 吴高其    时间: 2012-4-7 03:00
正常情况下可以同时实现2个接口,
但是,当两个接口中的方法的方法名、参数列表相同,
而返回值类型不同时,不能同时实现这两个接口。
例如:
interface A{
void fun();
}




作者: 吴高其    时间: 2012-4-7 03:02
接上面
interface A{
void fun();
}

interface B{
int fun();
}
这两个接口的方法名,参数列表相同,而返回值类型不同,就不能同时被一个类实现。

作者: 孙国军    时间: 2012-4-7 10:16
可以的,你说的没问题

作者: 未长法    时间: 2012-4-7 22:56
可以,这也是JAVA多态的一种体现吧,单继承,多实现 .
注意:多实现的时候如果多个接口中的方法名相同 返回值类型不同 使用内部类的方式实现

作者: 邓海涛    时间: 2012-4-7 23:45
一个子类可以同时实现多个接口:
   class 子类 implements 接口A,接口B,...{}
相当于拜托了java的单继承局限。
所以你说的是没有错的,但是你要注意了!
   如果一个子类同时实现了两个接口,这样在子类中就必须同时覆写两个接口中的全部抽象方法!!!
这点很重要,不要忽略了!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2