抽象类的概念
*在Java中有一个关键字叫:abstract,它就是抽象的意思,可以用它修饰类、成员方法
*abstract修饰类,这个类就是抽象类;修饰方法,这个方法就是抽象方法
抽象类的注意事项和特点
*抽象类中不一定有抽象方法,有抽象方法的类一定是抽象类
*类该有的成员(成员变量、方法、构造器)抽象类都可以有
*抽象类最主要的特点:抽象类不能创建对象,仅作为一种特殊的父亲,让子类继承并实现
抽象方法只有方法签名,不能写方法体
public abstract void cry();
抽象类的应用场景和好处
*父类知道每个子类都要做某个行为,但每个子类要做的情况不一样,父类就定义成抽象方法,交给子类去重写实现,我们抽出这样的抽象类,就是为了更好地支持多态
模板方法设计模式
*模板方法设计模式解决问题中存在重复代码的问题
*可以通过定义一个抽象类;在里面定义2个方法,一个是模板方法:放相同的代码里,一个是抽象方法:具体实现交给子类实现
*建议使用final关键字修饰模板方法,起保护作用