黑马程序员技术交流社区

标题: java基础:抽象类与接口的异同 [打印本页]

作者: AllenIverson    时间: 2015-7-25 18:55
标题: java基础:抽象类与接口的异同
本帖最后由 AllenIverson 于 2015-7-25 18:59 编辑

抽象类与接口的异同
抽象类 abstract class
接口interface,当抽象类方法都是抽象时,可以表示为接口,接口是公开的。
成员变量
可以是变量或者常量
只能是常量,public static final修饰
成员方法
可以是抽象或者非抽象,可以包含静态方法,public/protected修饰
只能是抽象方法,没有方法体,没有静态方法,public abstract修饰
构造方法
没有
关系区别
类与类:继承,单继承  
一般的应用里,最顶级的是接口,然后是抽象类实现接口,最后才到具体类实现。
类与接口:实现,单/多实现  
接口与接口:继承,单/多继承  
实现接口需要实现接口定义的所有方法
设计理念
被继承体现的是is a的关系,  
抽象类中定义的是继承体系的共性功能。
被实现体验的是like a的关系,接口中定义的是该继承体系的扩展功能。





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