模板设计模式在 Thread 中的应用

x33g5p2x  于2022-02-09 转载在 其他  
字(0.9k)|赞(0)|评价(0)|浏览(176)

一 点睛

Thread 的 run 和 start 是一个比较典型的模板设计模式,父类编写算法结构,子类实现逻辑细节。

二 模板设计模式

1 代码

package concurrent;

public class TemplateMethod {
    public final void print(String message) {
        System.out.println("**********************");
        wrapPrint(message);
        System.out.println("**********************");
    }

    protected void wrapPrint(String message) {
    }

    public static void main(String[] args) {
        TemplateMethod t1 = new TemplateMethod() {
            @Override
            protected void wrapPrint(String message) {
                System.out.println("*" + message + "*");
            }
        };
        t1.print("hello thread");

        TemplateMethod t2 = new TemplateMethod() {
            @Override
            protected void wrapPrint(String message) {
                System.out.println("+" + message + "+");
            }
        };
        t2.print("hello thread");
    }
}

2 测试

**********************
*hello thread*
**********************
**********************
+hello thread+
**********************

三 说明

print 方法类似 Thread 的 start 方法,而 wrapPrint 则类似于 run 方法,这样做的好处是,程序结构由父类控制,并且是 final 修饰的,不允许被子类重写,子类只需要实现想要的逻辑即可。

相关文章

微信公众号

最新文章

更多