java复习——模板设计模式

58 阅读1分钟

五、模板设计模式

在抽象类中声明多个类都要使用的方法,之后多个类继承抽象类,重写方法。

类似动态绑定机制

//测试类
class test{
    public static void main(String[] args){
        zi son = new zi();
        son.month();
        //解析:
        // 1.首先在zi类中找month方法,没找到;
        // 2.然后去父类中找,找到了;
        // 3.执行到work方法,走抽象方法到子类中去找;
        // 4.子类执行完后再回到父类;
    }
}
//抽象类
class abstract fu{
    
    public abstract void work();
    //一般还会存在一个钩子方法(这个方法可以让子类来决定公共逻辑)
    public boolean isTF(){
        return true;
    }
    //这里是公共逻辑使用处,一般用final修饰
    public final void month(){
        if(isTF){
            work();
        }
    }
}
//子类
class zi extends fu{
    //在构造方法中可以改变这个布尔值
    public boolean isTF; 
    //重写抽象方法
    @Overrid
    public void work(){
        System.out.println("重写");
    }
}