接口和抽象方法的区别:
1、抽象类可以有构造方法,接口中不能有构造方法。
2、抽象类中可以有普通成员变量,接口中没有普通成员变量
3、抽象类中可以包含非抽象的普通方法,接口中的所有方法必须都是抽象的,不能有非抽象的普通方法。
4、抽象类中的抽象方法的访问类型可以是 public,protected
和(默认类型,虽然eclipse 下不报错,但应该也不行),但接口中的抽象方法只能是 public 类型的,并且默认即为 public abstract 类型。
5、抽象类中可以包含静态方法,接口中不能包含静态方法
(JAVA8的新特性:接口可以有静态方法和默认方法)
6、抽象类和接口中都可以包含静态成员变量
,抽象类中的静态成员变量的访问类型可以任意,但接口中定义的变量只能是 public static final 类型
,并且默认即为 public static final 类型。
7、一个类可以实现多个接口,但只能继承一个抽象类。