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



