抽象类与抽象方法, 抽象类的规则

抽象概述

  • 定义

    在某些情况下,我们需要定义一个超类,来声明给定抽象的一个结构,而不需要提供具体方法的实现,也就是超类只定义一个泛化的形式,泛化的形式由所有的子类共享,并且子类填充具体的细节。设计抽象的目的就是让子类去实现。

  • 使用场景
    所有子类继承父类后都会重写父类的方法。

抽象类和抽象方法

  • 抽象类自己不能有对象,即不能用new操作符直接实例化一个抽象类。只能通过使用一个具体类来继承抽象类,并且实例化这个具体类。

  • 抽象类里并非所有方法都是抽象方法,也可以有一些具体的成员方法。

  • 抽象方法没有方法体

image

抽象类的规则1

  • 抽象类里可以有0个,1个,多个抽象方法。也就是抽象类里也可以没有抽象方法。

  • 抽象方法只能存在于抽象类里,不能在普通类里。

抽象类的规则2

在构造方法中初始化

抽象类的规则3

  • 除非子类也是抽象类,那可以自由选择重写抽象父类的抽象方法的个数。如果子类是普通子类,则必须重写抽象父类的所有抽象方法。