抽象类与接口的异同 | ||
抽象类 abstract class | 接口interface,当抽象类方法都是抽象时,可以表示为接口,接口是公开的。 | |
成员变量 | 可以是变量或者常量 | 只能是常量,public static final修饰 |
成员方法 | 可以是抽象或者非抽象,可以包含静态方法,public/protected修饰 | 只能是抽象方法,没有方法体,没有静态方法,public abstract修饰 |
构造方法 | 有 | 没有 |
关系区别 | 类与类:继承,单继承 一般的应用里,最顶级的是接口,然后是抽象类实现接口,最后才到具体类实现。 | 类与接口:实现,单/多实现 接口与接口:继承,单/多继承 实现接口需要实现接口定义的所有方法 |
设计理念 | 被继承体现的是is a的关系, 抽象类中定义的是继承体系的共性功能。 | 被实现体验的是like a的关系,接口中定义的是该继承体系的扩展功能。 |
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) | 黑马程序员IT技术论坛 X3.2 |