1、设计目的不一样:
接口体现的是一种规范,,相似于系统的总纲,它制定了系统的各模块应遵照的标准
抽象类做为多个子类的共同父类,体现的是模式化的设计,抽象类能够认为是系统的中间产品,已经实现了部分功能,部分需子类完善,有些设计模式只能用抽象类不能用接口设计,抽象类是完成框架设计的必要组成
2、用法不一样:
在接口里:
(1)只能包含不带方法体的非静态抽象方法
(2)属性只能是静态的
(3)不能包含构造方法,和初始化块
(4)一个类能够实现多个接口,并实现全部方法
在抽象类里:
(1)能够包含普通方法和抽象方法
(2)能够包含普通属性和静态属性
(3)能够有初始化块,构造方法,供子类调用
(4)只能继承一个抽象了你
接口中的属性默认为 public static final设计模式