1.从属性来看:
抽象类:属性定义和普通类没有区别
接口:属性必须是 public static final
2.从构造器来看:
抽象类:可以有自己的构造器
接口:没有构造器
3.从方法来看:
抽象类:可以有抽象方法和实例方法,也可以没有抽象方法
接口:只能有public 的抽象方法,可以有default方法和public static方法
4.从实现来看:
抽象类:子类继承抽象类,不要求实现抽象方法,当有抽象方法没有实现时,子类须声明为抽象类
接口:实现接口必须实现所有抽象方法
5.意义:
抽象类:对象是什么,实现了部分该类对象的通用方法,抽象方法部分则不同子类对象有不同的表现形式
接口:一系列行为或者服务的调用格式
题外:为一些对象{A1,A2,...,An}提供统一的服务,让这些对象的父类B 实现接口C并关联对象D,对象D实现了接口C,然后父类B中接口C的实现是对象D调用自己的方法。