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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 黑马ciso 中级黑马   /  2015-10-8 00:02  /  381 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

继承和接口有什么区别?

4 个回复

倒序浏览
继承和接口根本就是两类东西吧。怎么说? 你想问的是继承和实现接口的区别吧?
继承是子类实现父类,JAVA来说只支持单继承。

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

回复 使用道具 举报
继承可以使子类获得父类中定义的属性和方法(父类实现了功能),使具有公共方法的子类没必要都写,但子类可以覆盖父类中的方法, 即在再类中重写同名的方法。

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

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