1、抽象类的概述
在java中,一个没有方法体的方法被定义为抽象方法,而类中如果有抽象方法,该类就必须被定义为抽象类。
抽象类的特点:
- 抽象类和抽象方法必须使用abstract类关键字修饰
public abstract class 类名{}
public abstract void 方法名();(不需要方法体,即{}) - 抽象类中不一定有抽象方法,有抽象方法的类一定是抽象类
- 抽象类不能实例化!但是可以通过多态的方式,利用子类进行实例化,这叫抽象类多态
- 抽象类的子类
要么重写抽象类中所有抽象方法
要么成为抽象类
2、抽象类的成员特点
-
成员变量
可以是变量
也可以是常量(final修饰) -
构造方法
有构造方法但是不能进行实例化
其构造方法是用于子类访问父类的数据初始化 -
成员方法
可以有抽象方法:限定子类必须完成某些动作(非抽象类子类必须对父类的抽象方法进行重写)
也可以有非抽象方法:提高代码的复用性