抽象类的特点
-
抽象类和抽象方法必须用abstract关键字修饰
public abstract class类名 {}
public abstract void eat(); -
抽象类不一定有抽象方法,但抽象方法的类一定是抽象类
-
抽象类不能实例化(参照多态的方式通过子类的对象实例化,这叫抽象类多态)
-
抽象类的子类(要么重写抽象类中的方法,要么是抽象类)
抽象类的的成员特点
- 成员变量(可以是变量,也可以是常量)
- 构造方法(有构造方法但不能实例化,构造方法用于子类访问父类数据的初始化)
- 成员方法(可以有抽象方法,但必须限定子类完成某些操作;也可以有非抽象方法,提高代码复用性)