一、为什么要用抽象类
- 当父类定义一个功能时,每个子类对该功能的具体实现逻辑都不一样,那么父类定义该功能时就可以定义成抽象的方法,这个类就必须是抽象类了
- 抽象类也是类,也能定义类中的5大成分(成员变量、成员方法、构造方法、代码块、内部类),特别需要注意的是,有抽象方法的类,必须是抽象类
- 子类在继承了抽象类之后,必须重写抽象类中所有的抽象方法
- 抽象类不能够被实例化
二、如何定义抽象类
使用abstract
关键字修饰的类称为抽象类,格式如下
public abstract class 类名();
三、什么是抽象方法
使用abstract
关键字修饰且没有具体实现的方法就是一个抽象方法,格式如下
public abstract 返回值类型 方法名(参数列表);
四、抽象类中的构造方法
抽象类是不能够被实例化的,那为什么还要在抽象类中书写构造方法呢,原因就是抽象类的构造方法就是为了保障子类对象可以实例化成功准备的,子类实例化时,要调用子类的构造方法,子类构造方法中要调用super()