JAVA:模板方法模式

碰到的问题:

有些时候,我们在写代码时,有些功能是重复使用的,或者说,不同的类中都有实现某一方法,这时,可以考虑“模板方法模式”,把需要的功能写成一个模板,把不同的部分在子类中覆盖掉就行了。

//模板
abstract class GetTime
{
   public final void getTime()//添加一个final,使得该方法不能在子类中被覆盖
   {
       long start = System.currentTimeMillis();
       runCode();//要实现的程序
       long end = System.currentTimeMillis();
       System.out.println();
       System.out.println("毫秒:"+(end-start));
    }
    public abstract void runCode();
}
//子类
class SubTime extends GetTime
{
   public void runCode()            //将要实现的程序覆盖即可
   {
       for(int i=0;i<1000;i++)
       System.out.print(i);
    }
}
public class TestTime
{
   public static void main(String[] agrs)
   {
       SubTime sb = new SubTime();
       sb.getTime();
    }
}

 

final修饰符:

变量:变为常量,其值不能改变

方法:不能被子类复写

类:不能被继承

 

 

转载于:https://www.cnblogs.com/KeenLeung/archive/2012/05/22/2514060.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值