Loading

抽象类与接口

一.抽象类与接口的定义

  1.抽象类:如果一个类中有被abstract修饰的方法,那么该类也要被abstract修饰,并且抽象类的抽象方法需要子类继承抽象类通过重写抽象方法实现,那么该类就是抽象类。

  2.接口:接口是抽象方法的集合,接口中只有抽象方法,被interface修饰。

二.抽象类与接口的特殊点:

  1.抽象类可以有成员变量、非抽象方法和构造器,但是抽象类不能被实例化(关于抽象类为什么不能被实例化可以看:抽象类为什么不能被实例化? - 知乎 (zhihu.com))。

  既然抽象类不能被实例化,那抽象类为什么要有构造方法?因为实例化子类的时候,就会初始化父类,不管父类是不是抽象类都会调用父类的构造方法,初始化一个类,先初始化父类。

  2.接口不能有抽象方法,因为接口中的成员变量默认被public static final修饰,不能被修改,并且接口只能被接口继承,接口是不能被实例化的,所以接口没有构造方法。

  3.一个类可以实现多个接口,但是只能继承一个父类,这个父类可以是抽象类。

  4.接口只能做方法声明,抽象类中可以作方法声明,也可以做方法实现。

  5.抽象级别(从高到低):接口>抽象类>实现类。

  6.抽象类主要是用来抽象类别,接口主要是用来抽象方法功能。

posted @ 2024-01-22 10:38  StormArcita  阅读(30)  评论(0)    收藏  举报