Java技术总监面试常见问题及答案,【源码分析设计模式 9

本文介绍了Java技术总监面试中常见的模板方法模式,并以SpringIOC为例进行详细解析。首先定义ConfigurableApplicationContext接口,然后由AbstractApplicationContext抽象类实现refresh方法,作为初始化容器的入口。此外,分享了面试复习资料,涵盖Java基础到微服务等多个主题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、在模板方法模式的父类中,我们可以定义一个方法,它默认不做任何事,子类可以视情况覆盖它,该方法称为钩子方法。

六、代码实例

======

1、抽象类



package com.guor.template;



public abstract class SoyaMilk {

    //模板方法, make , 模板方法可以做成final , 不让子类去覆盖.

    final void make() {

        select();

        addCondiments();

        soak();

        beat();

    }



    //选材料

    void select() {

        System.out.println("第一步:选择好的新鲜黄豆  ");

    }



    //添加不同的配料, 抽象方法, 子类具体实现

    abstract void addCondiments();



    //浸泡

    void soak() {

        System.out.println("第三步, 黄豆和配料开始浸泡, 需要3小时 ");

    }



    void beat() {

        System.out.println("第四步:黄豆和配料放到豆浆机去打碎  ");

    }

} 

2、花生类



package com.guor.template;



public class PeanutSoyaMilk extends SoyaMilk {

    @Override

    void addCondiments() {

        System.out.println(" 加入上好的花生 ");

    }

} 

3、红豆类



package com.guor.template;



public class RedBeanSoyaMilk extends SoyaMilk {

    @Override

    void addCondiments() {

        System.out.println(" 加入上好的红豆 ");

    }



    public static void main(String[] args) {

        //制作红豆豆浆

        System.out.println("----制作红豆豆浆----");

        SoyaMilk redBeanSoyaMilk = new RedBeanSoyaMilk();

        redBeanSoyaMilk.make();



        System.out.println("----制作花生豆浆----");

        SoyaMilk peanutSoyaMilk = new PeanutSoyaMilk();

        peanutSoyaMilk.make();

    }

} 

4、控制台输

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值