黑马程序员技术交流社区
标题:
接口实现问题
[打印本页]
作者:
怪盗急得
时间:
2012-10-8 20:32
标题:
接口实现问题
本帖最后由 陈德基 于 2012-10-8 20:53 编辑
不能多继承可以理解,但是可以多实现有点抽象了,假设如果要实现的两个接口有同名的抽象方法,那到底是实现哪一个接口的抽象方法呢?跟抽象方法没有方法体又有什么关系?概念好混乱·····
作者:
李兆宁
时间:
2012-10-8 20:37
既然是抽象方法,没有方法体,那同名就没关系,因为没定义内容嘛
在实现的类中要复写此抽象方法,在子类中定义方法功能。。
作者:
王震阳老师
时间:
2012-10-8 20:56
写个例子解释你关于多实现的问题吧
作者:
王震阳老师
时间:
2012-10-8 21:08
本帖最后由 王震阳 于 2012-10-8 21:23 编辑
class TestImplementsInterface
{
public static void main(String[] args)
{
classC c=new classC();
c.test();//测试方法是否实现,可见是可以的。
}
}
interface interA
{
void test();//系统会默认成public static void test();
}
interface interB
{
void test();//系统会默认成public static void test();
}
class classC implements interA,interB
{
public void test()//当两个接口中有相同的方法时,我们只要实现一个即可。
{
System.out.println("classC 实现了A,B两个接口。这两个接口里有两个相同的抽象方法test(),可以看到尽管接口中的抽象方法相同,那么并不影响我们去实现。");
}
}
复制代码
多接口相同方法的实现.jpg
(38.85 KB, 下载次数: 90)
下载附件
2012-10-8 21:09 上传
作者:
qhasilver
时间:
2012-10-8 21:11
抽象方法是属于哪个接口并不重要,接口并不提供具体的方法给你用,具体方法是你自己重写的。抽象方法的意思就是:我描述了一个杯子应该长什么形状,你得照着我的样子去做,具体你怎么做,做出来干嘛使,我不管。
作者:
杨华东
时间:
2012-10-8 21:32
跟你讲啊,有两种方案可以解决你的问题。
第一种方案:
把你所说的含有同名抽象方法的两个接口再向上抽取,此时你会发现新的接口出现了而且只有一个抽象方法了。
如果有其他类实现该接口只要实现一个方法就行了。
第二方案:
当某个类实现了这两个接口,该类只实现一个方法就OK啦 因为是同名的。
作者:
徐传任
时间:
2012-10-8 22:43
看看..............
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2