Java中抽象类和接口的区别

1. 接口中定义的变量默认是public static final 型,且必须给其初值,所以实现类中不能重新定义,也不能改变其值。抽象类中的变量默认是 friendly 型,其值可以在子类中重新定义,也可以重新赋值。

2. 抽象类不能多继承,接口可以多实现。

3. 抽象类可以有具体的实现方法,接口的方法不能有具体实现。

4.abstract class和interface所反映出的设计理念不同。其实abstract class表示的是"is-a"关系,interface表示的是"like-a"关系。 

posted @ 2017-02-14 17:19  英特费斯  阅读(141)  评论(0编辑  收藏  举报