抽象类与接口的区别
1.抽象类使用关键字abstract class定义,是类;
接口使用关键字interface定义,是接口。
2.抽象类里可以定义成员变量;
接口里没有成员变量,有的是静态常量,默认拼接public static final。
3.抽象类里的方法不作限制:全部是抽象方法;全部是普通方法;一部分为抽象方法,另一部分是普通方法;
接口中的方法都是抽象方法,默认拼接 public abstract 。
4.抽象类与接口均不可以被实例化,即抽象类与接口都不可以创建对象。
5.抽象类里有构造方法,但不是自己使用,是为了给子类创建对象时调用;
接口里没有构造方法,接口实现类调用的构造方法是父类的构造方法,与接口无关。
6.接口可以实现多继承,也就是说一个接口可以继承一个接口/多个接口;
抽象类只可以单继承 ,遵循一个子类只能有一个父类的思想
7.抽象类是后天重构的结果;
接口是先天设计的结果。