直接给你理下两者的区别,这样就能很好的了解两者的使用环境的区别了.在不同的题目要求下使用不同的方法,比如继承的成员方法可以是抽象的,也可以是非抽象的,而接口的成员方法必须都是抽象的.当我们需要操作相同具体的方法内容时,用继承就合适.而接口在多实现的情况下应用就比较多了.
A:成员区别
抽象类:构造方法 用于给子类实例化使用。
成员变量 既可以是常量,也可以是变量。
成员方法 既可以是抽象的,也可以是非抽象的。
接口:
成员变量 只能是常量。
默认修饰符 public static final
成员方法 只能是抽象方法
默认修饰符 public abstract
B:继承和实现的区别
类与类的关系:继承关系。单继承,可以多重继承。
类与接口的关系:实现关系。可以单实现,也可以多实现。还可以在继承一个类的同时,实现多个接口。
接口与接口的关系:继承关系。可以单继承,也可以多继承。
C:表述关系不一样:抽象类被继承是"is a"的关系
接口被实现是"like a"的关系
|