Java中abstract是抽象的意思,它可以修饰类,成员方法。

public abstract People{
    public abstract void eat();
}

抽象方法中只有方法签名,不能声明方法体。

        一个类中如果定义了抽象方法,那么这个类必须为抽象类。

抽象类的应用

        抽象类可以理解为一个大致的设计方向,一般作为父类,让子类来继承实现。

        当父类知道子类一定要完成某些功能时,但是各个子类的实现不同时,父类就可以把这个行为定义为抽象方法,让子类自行实现。此时这个类也应该定义为抽象类。

抽象类的特征与注意事项

        普通类所有的成员,抽象类都具备。

        抽象类中不一定有抽象方法,但是有抽象方法的类一定是抽象类。

        如果一个类继承了抽象类必须重写完抽象类中所有的抽象方法,否则这个类也要定义为抽象类。

抽象类是不可以创建对象的。

模板方法模式

        当系统中出现同一个功能多处在开发,而大部分代码是相同的,只有部分不同时,可以使用模板方法模式。

        步骤:1.定义一个抽象类。2.定义2个方法,一个是模板方法,即相同的代码放进去,一个定义为抽象方法。3.子类来继承抽象类,实现抽象方法。