(1): 成员区别
抽象类:
成员变量: 可以是变量也可以是常量
构造方法: 有构造方法
成员方法: 可以是抽象方法,也可以是非抽象方法
接口:
成员变量: 只能是常量 ,存在默认的修饰符: public static final
构造方法: 没有构造方法
成员方法: 只能是抽象方法, 存在默认的修饰符: public abstract
(2): 关系区别:
类与类: 继承关系, 只能是单继承 , 不能是多继承,但是可以是多层继承
类与接口: 实现关系, 可以是单实现,也可以是多实现,并且一个类可以继承一个类的同时去实现多个接口
接口与接口: 继承关系 可以是单继承也可以是多继承
(3): 设计理念
抽象类 体现的关系"is a" 抽象类中定义的是该继承体系的共性功能。
接口 体现的关系"like a" 接口中定义的是该继承体系的扩展功能。
|