黑马程序员技术交流社区

标题: 关于继承 [打印本页]

作者: 黑马ciso    时间: 2015-10-8 00:02
标题: 关于继承
继承和接口有什么区别?
作者: winddack    时间: 2015-10-8 01:25
继承和接口根本就是两类东西吧。怎么说? 你想问的是继承和实现接口的区别吧?
继承是子类实现父类,JAVA来说只支持单继承。

实现接口可以看成是继承一个全部抽象的抽象类。对这个类中的所有方法都必须重写。


作者: du_minchao    时间: 2015-10-8 07:54
继承可以使子类获得父类中定义的属性和方法(父类实现了功能),使具有公共方法的子类没必要都写,但子类可以覆盖父类中的方法, 即在再类中重写同名的方法。

接口中声明了抽象函数,没有实现。主要目的是规定implement此接口的所有类必须实现抽象方法的功能。
接口的特点:
   1、接口中有抽象方法,所以接口不能实例化。接口的子类必须实现接口中所有的抽象方法后才能实例化。否则,该子类还是一个抽象类,不能实例化。
   2、一个类可以实现多个接口,但只能继承一个类。一个类在继承另一个类的同时,还可以实现多个接口。所以接口的出现避免了单继承的局限性,进一步扩展了类的功能。
   3、接口与接口之间存在着继承关系,一个接口可以继承多个接口。
   4、接口中的成员修饰符是固定的。全都是public的。


作者: 看海的管家    时间: 2015-10-8 09:08
继承就好比 父亲生儿子,不允许多继承就是指一个儿子不可能有多个亲生父亲~但是父亲还是能生另外一个儿子~
接口就好比你与人类,所有的人类都有“呼吸”,“睡觉”等动作,你既然要作为一个人类,就一定要具备这些动作~注意,是一定要实现,不是只要~2者区别很大~
作者: LLLLL    时间: 2015-10-10 16:51
1,一个类只能继承一个类,但是可以实现多个接口。
2,依赖倒转原则: 依赖抽象(例如接口),不要依赖于实现。
3,合成/聚合复用原则(CARP): 尽量使用合成/聚合,而不是继承关系达到复用的目的。
4,接口传达的意思是:拥有某种功能,能干嘛,比如:Serializable代表可序列化的。
5,继承传达的是意思是:is-a,比如:猫 是一个 动物,猫就是动物的子类。




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