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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 王盛 于 2013-11-5 21:31 编辑

弱弱的问一句:父类继承 了一个接口  他的子类需要实现这个接口吗?

评分

参与人数 1黑马币 +1 收起 理由
茹化肖 + 1

查看全部评分

9 个回复

倒序浏览
一个类实现了一个接口,当另一个类继承这个类时,这个接口还被继承.
在一个继承体系中不可避免会出现这种情况,方法在类层次中越堆越高以致其可以为越来越多的子类可用,接口的设计避免了这个问题。这句话并未说某个类实现接口然后另个类继承这个类它是指某个类可以实现接口的部分方法,而其子类也可以来实现接口,而且可以实现和父类不一样的方法,记住子类继承父类的同时也实现接口。

评分

参与人数 1技术分 +1 收起 理由
陈行 + 1

查看全部评分

回复 使用道具 举报
本帖最后由 何俞平 于 2013-11-4 20:11 编辑

要看这个父类是否是抽象类,若父类不是抽象类,子类不需要实现接口,若父类是抽象类,子类需要实现接口,并且抽象父类想要实现接口的方法也必须通过子类实现。

评分

参与人数 1技术分 +1 收起 理由
陈行 + 1

查看全部评分

回复 使用道具 举报
1、接口的定义
2、继承接口的条件
接口只是定义了一种规范,里面并没有实现
如果一个类继承了接口,那么这个类,必须实现接口中的全部成员
除非这个类是抽象类,那么需要子类去实现接口
回到楼主的问题:
1、子类和父类是一种关系
2、类和接口是一种关系

评分

参与人数 1技术分 +1 收起 理由
陈行 + 1

查看全部评分

回复 使用道具 举报
抽象类的所谓“声明”就是实现,只能说不是完整的实现。所以答案是必须实现,不管是不是抽象类。
必须全部实现,你可以写个接口然后继承看看,如果你不全部实现编译时不会通过的。

评分

参与人数 1技术分 +1 收起 理由
陈行 + 1

查看全部评分

回复 使用道具 举报
类在继承接口的时候就必须实现接口, 所以父类在继承接口的时候就实现了这个接口, 子类在继承父类的时候, 就不用实现接口了。
当然如果父类是抽象的时候, 那么子类就必须实现父类的定义的方法,而父类继承了接口,抽象类又不能有具体实现,所以实际上也就是子类必须实现接口。

评分

参与人数 1技术分 +1 收起 理由
陈行 + 1

查看全部评分

回复 使用道具 举报
王盛 中级黑马 2013-11-5 21:28:57
7#
何俞平 发表于 2013-11-4 20:09
要看这个父类是否是抽象类,若父类不是抽象类,子类不需要实现接口,若父类是抽象类,子类需要实现接口,并 ...

嗯嗯 ~  非常感谢~!
回复 使用道具 举报
王盛 中级黑马 2013-11-5 21:29:46
8#
hourglass 发表于 2013-11-5 01:42
类在继承接口的时候就必须实现接口, 所以父类在继承接口的时候就实现了这个接口, 子类在继承父类的时候, ...

非常感谢~!
回复 使用道具 举报
王盛 中级黑马 2013-11-5 21:30:16
9#
岁月渲染 发表于 2013-11-4 17:33
一个类实现了一个接口,当另一个类继承这个类时,这个接口还被继承.
在一个继承体系中不可避免会出现这种情况 ...

非常感谢~!
回复 使用道具 举报
佟嘉豪 发表于 2013-11-4 20:21
1、接口的定义
2、继承接口的条件
接口只是定义了一种规范,里面并没有实现

非常感谢~!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马