JAVA中的模版设计模式

一、模版设计模式能解决以下问题

1)功能内部一部分是实现的,一部分是不确定的,这时可以把不确定的部分暴露出去,让子类去实现

2)编写一个抽象父类,父类提供多个子类的通用方法,并把一个或多个方法留给子类实现,就是一种模版模式

二、代码实现

java 复制代码
package TemplateModel;

public class TemplateModel01 {
    /* 需求
    * 1.有多个类完成不同的任务*/
    public static void main(String[] args) {
        new AA().cal();
        new BB().cal();
    }
}
class AA extends Template{
    /*public void cal(){
        // 开始时间
        long start = System.currentTimeMillis();
        job();
        // 结束时间
        long end = System.currentTimeMillis();
        System.out.println("执行时间"+ (end - start));
    }*/

    public void job(){
        long n = 0;
        for (long i = 1; i < 800000; i++){
            n += i;
        }
    }
}

class BB extends Template{
    /*public void cal(){
        // 开始时间
        long start = System.currentTimeMillis();
        job();
        // 结束时间
        long end = System.currentTimeMillis();
        System.out.println("执行时间"+ (end - start));
    }*/

    public void job(){
        long n = 0;
        for (long i = 1; i < 10000000; i++){
            n += i;
        }
    }
}

// 改进方案
abstract class Template{
    public abstract void job();
    public void cal(){
        // 开始时间
        long start = System.currentTimeMillis();
        job();
        // 结束时间
        long end = System.currentTimeMillis();
        System.out.println("执行时间"+ (end - start));
    }
}
相关推荐
Javatutouhouduan4 小时前
2026Java面试的正确打开方式!
java·高并发·java面试·java面试题·后端开发·java编程·java八股文
chao1898445 小时前
基于 SPEA2 的多目标优化算法 MATLAB 实现
开发语言·算法·matlab
JAVA面经实录9175 小时前
Java初级最终完整版学习路线图
java·spring·eclipse·maven
赏金术士5 小时前
Kotlin 习题集 · 高级篇
android·开发语言·kotlin
Cat_Rocky6 小时前
k8s-持久化存储,粗浅学习
java·学习·kubernetes
楼兰公子6 小时前
buildroot 在编译rust时裁剪平台类型数量的方法
开发语言·后端·rust
知识领航员6 小时前
蘑兔AI音乐深度实测:功能拆解、实测表现与适用场景
java·c语言·c++·人工智能·python·算法·github
吴声子夜歌6 小时前
Go——并发编程
开发语言·后端·golang
释怀°Believe6 小时前
Spring解析
java·后端·spring
ooseabiscuit7 小时前
Laravel4.x:现代PHP框架的奠基之作
java·开发语言·php