前言
abstract和接口的区别
1.抽象类中可以有普通成员变量,接口中没有普通成员变量。
2.抽象类和接口中都可以包含静态成员变量,抽象类中的静态成员变量的访问类型可以是任意的,但是接口中定义的变量只是public static final类型,并且默认为public static final类型。
3.抽象类可以有构造方法,接口中不能有构造方法。
4.抽象类中可以包含静态方法,接口中不能有静态方法。这里注意,静态方法不要去重写,其次这里的静态方法一定要有具体实现,不能是抽象的。Java8中允许接口中包含静态方法了,可以用接口直接调用。
5.抽象类中抽象方法的访问类型可以是public,protected,但是接口中的抽象方法只能是public类型的,并且默认为public abstract类型的。
6.一个类可以实现多个接口,但是只能继承一个抽象类。
总结
抽象类和接口的区别主要就这几点