接口与抽象类的区别

一个类可以实现多个接口,但是只能继承一个父类。

 
  变量 构造方法 方法
抽象类 无限制

子类通过构造方法链调用构造方法,

抽象类不能用new操作符实例化

无限制
接口 所有的变量必须是public static final 没有构造方法,接口不能用new操作符实例化 所有方法必须是公共的抽象实例方法

 

 

 

 

 

 

抽象类和接口都是用来明确多个对象的共同特征的。

一般来说,清晰描述父子关系的强的“是一种”的关系,应该用类建模。如圆和矩形都是一种几何对象,用类的继承来建模。

弱的“是一种”的关系,也称为类属关系,它表明对象拥有某种属性,可以用接口来建模。如圆是可比较的,因此可以实现Comparable接口。

通常,推荐使用接口而非抽象类,因为接口可以定义非相关类共有的父类型。接口比类更加灵活。

 

posted @ 2018-10-24 10:54  yinweifeng  阅读(197)  评论(0)    收藏  举报