一.抽象类与接口的定义
1.抽象类:如果一个类中有被abstract修饰的方法,那么该类也要被abstract修饰,并且抽象类的抽象方法需要子类继承抽象类通过重写抽象方法实现,那么该类就是抽象类。
2.接口:接口是抽象方法的集合,接口中只有抽象方法,被interface修饰。
二.抽象类与接口的特殊点:
1.抽象类可以有成员变量、非抽象方法和构造器,但是抽象类不能被实例化(关于抽象类为什么不能被实例化可以看:抽象类为什么不能被实例化? - 知乎 (zhihu.com))。
既然抽象类不能被实例化,那抽象类为什么要有构造方法?因为实例化子类的时候,就会初始化父类,不管父类是不是抽象类都会调用父类的构造方法,初始化一个类,先初始化父类。
2.接口不能有抽象方法,因为接口中的成员变量默认被public static final修饰,不能被修改,并且接口只能被接口继承,接口是不能被实例化的,所以接口没有构造方法。
3.一个类可以实现多个接口,但是只能继承一个父类,这个父类可以是抽象类。
4.接口只能做方法声明,抽象类中可以作方法声明,也可以做方法实现。
5.抽象级别(从高到低):接口>抽象类>实现类。
6.抽象类主要是用来抽象类别,接口主要是用来抽象方法功能。
标签:接口,实例,抽象,抽象类,父类,方法 From: https://www.cnblogs.com/Noob-Green-Hand/p/17979463