定义:
接口:是多个对象抽象化到顶端。其成员是高度抽象的。也可以理解为:不同类据有相同属性和行为的集合。接口的成员不可以被private和protected修饰。一旦被final修饰就不能被重写。如果成员方法被默认修饰,默认为public static 修饰,如果成员变量被默认修饰,其修饰为public static final类型。
抽象类:抽象类也是抽象化顶层的类,其位于顶层接口和对象类之间的中间态,是半抽象化的。 抽象类和接口很类似,但是比接口更具体。抽象类需要其他类来继承实现方可产生其实例。
区别和联系:
![]() |
接口和抽象类都是对象间泛化到顶端的顶层类,接口是泛化到顶层,而抽象类是中间类,是半抽象物,当然,当程序员在找多个对象的公共属性和方法时,这些处于交集的公共属性和方法在泛化到顶层时都需要采用接口来定义,如果存在中间态便可采用抽象类,否则 无需采用。