A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© rover0321 中级黑马   /  2014-6-7 22:24  /  1520 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

假如我有两个接口定义如下:
interface Interface1
{
    void fun1();
    // 其他方法申明
}

interface Interface2
{
    void fun1();
    // 其他方法申明
}

这两个接口有同名的方法fun1()。那么如果此时有个类同时实现了这两个接口

class Demo implements Interface1, Interface2
{
    public void fun1()
    {
        // 方法定义
    }
}
那么此时我算实现哪个接口的fun()函数呢?接口可以多实现可以怎么理解呢?虚心请教一下大家,谢谢。

评分

参与人数 1技术分 +1 收起 理由
李小然 + 1

查看全部评分

7 个回复

倒序浏览
实现一个接口就要实现接口的所有方法,所以就是两个都实现了,接口只能继承接口不能多实现,只能多继承。假如一个接口继承了多个接口,就具有了多个功能,如果一个类实现了这个接口的话,就能实现多个功能
回复 使用道具 举报
相当于都覆写了fun1()方法,不存在实现哪个接口
回复 使用道具 举报
LJZkevin 发表于 2014-6-7 23:15
实现一个接口就要实现接口的所有方法,所以就是两个都实现了,接口只能继承接口不能多实现,只能多继承。假 ...

谢谢,其实我想说的是类多实现接口怎么理解,笔误了。
回复 使用道具 举报
这个问题在毕老师7天-13的视屏里提过。接口里的方法都是抽象的,没有方法主体。实现两个接口,这两个接口的方法是同名的话,你在实现类中复写的一个方法,相当于同时实现了两个接口中的抽象方法。即两个接口你的实现方法是一样的。你觉得两个类中有相同的方法有问题吗?当然没。
你要明确接口的作用与意义而不是拘泥于这种语法。
接口中的方法是抽象的是因为接口只用来定义规则协议,只要求你必须做某些事,但不要求你如何做。这就是协议。

评分

参与人数 1技术分 +1 收起 理由
李小然 + 1

查看全部评分

回复 使用道具 举报 1 0
你这样写就代表两个接口的功能
都用你自己复写的func()方法实现了
接口是提供功能的
接口中的方法是让你来实现功能的
你复写方法就是为了实现功能
你复写了两个接口中的同名方法已经实现了两个接口的功能了
不存在什么实现哪个的问题
都实现了
回复 使用道具 举报
java木 发表于 2014-6-7 23:41
这个问题在毕老师7天-13的视屏里提过。接口里的方法都是抽象的,没有方法主体。实现两个接口,这两个接口的 ...

看的很详细啊  不会忘记吗 有时候我学了后面的前面的忘了   怎么做的啊  学习下
回复 使用道具 举报
都是要实现的,  管他哪个那。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马