这主要体现在抽象类和接口的区别上 ①.一类可以实现多个接口但只能继承自一个抽象类,从抽象类派生出的子类同样可以实现接口,从而,我们能得出一个结论:接口是为Java实现多继承而存在的 ②.抽象类中可以存在非抽象的方法,可接口不能存在非抽象的方法,并且接口里面的方法只是一个声明,必须用 public abstract来修饰,没有具体的实现 ③.抽象方法中的成员变量可以被不同的修饰符修饰,而接口中的成员变量默认都是静态常量 ④.抽象类是对对象进行的抽象,而接口是一种行为规范,这一点是比较重要的. 基于以上四点抽象类和接口的不同,我们可以知道了为什么有了抽象类还要用接口. 二者的选用: ①.优先选用接口,尽量少用抽象类; ②.需要定义子类的行为,又要为子类提供共性功能时才选用抽象类;