抽象类
只作为其下层类的父类,服务由子类来实现的类叫抽象类。
抽象方法与抽象类
抽象方法:abstract修饰的方法,是只有返回值类型、方法名、方法参数而不定义方法体的一种方法。
抽象方法的定义格式:
abstract 返回类型 方法名(形参表);
说明:用一个分号代替方法体的定义。
抽象类:abstract修饰的类,不能生成对象(即不能用new实例化
一个对象)的类。抽象类一般含有抽象方法,它的意义在于继承。
抽象类的定义格式:
abstract class 类名称 [extends 父类名称] [implements 接口名称列表]
{
成员变量的定义及初始化
成员方法的定义及初始化
}
(1)抽象类可以没有抽象方法,但抽象方法必须定义在抽象类中。
(2)抽象类一般含有抽象方法, 需要子类继承。一个抽象类的子类,如果不是抽象类,则它必须覆盖实现其父类(抽象类)中的所有抽象方法。否则,该子类只能是抽象类。
(3)抽象类不仅可以含有抽象方法,而且可以含有非抽象方法和成员变量,以及构造方法(可让子类初始化父类的成员变量)。
(4)抽象类不能定义为private、final和static类型。
(5)没有抽象的构造方法。