黑马程序员技术交流社区

标题: 接口中为什么可以多实现? [打印本页]

作者: zjm10zj    时间: 2013-3-28 20:35
标题: 接口中为什么可以多实现?
本帖最后由 zjm10zj 于 2013-3-28 21:24 编辑

可以顺便解释一下"重写"吗?

作者: HM马明宇    时间: 2013-3-28 20:48
接口中不可以有实现,但是一个类可以实现多个接口,接口的多实现是为了解决继承带来的单根性(只能继承一个父类)问题

重写是针对继承而言的,子类继承父类之后会拥有父类中的全部内容,但是很多时候父类只是给子类定义了一个功能放在那里没有实现(很多时候也没有实现的必要)
例如:学生继承自 人 这个类,人都可以说话(不考虑特殊情况),学生A与学生B到底要说什么我们不得而知,但是我们知道的是所有的学生都会说自己想说的话,
这样的话,我们在父类中只需要定义一个说的方法在那里即可,至于具体说什么,是子类来决定的,故在父类中具体实现是不可能的,子类想要说自己的话,就要去重写父类中的方法
作者: HM谢文辉    时间: 2013-3-28 20:48
接口中的方法都是抽象方法,没有方法主体,需要子类去实现,所有接口可以多实现。
重写是子类的方法和父类方法同名同参,子类方法覆盖父类方法。
作者: lucy198921    时间: 2013-3-28 20:48
1 对外接暴露的规则
2 使用的时候,程序紧密度就会降低

接口与类之间,是实现关系
                       

一个子类,可以同时实现多个接口
子类必须覆盖他所实现的全部接口中的抽象方法
子类可以继承一个类,同时实现多个接口



接口中的方法,没有主体
子类覆盖抽象方法,运行的时候以子类为主


以后开发中,主要面向接口.    很多事情看有没有共性,抽取成接口.
作者: 刘胜寒    时间: 2013-3-28 20:54
因为接口,只提供了一个函数名,但是没有写函数代码块...懂否??
继承为什么不能多继承,跟这个是有关系的哦!




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