JavaSE-模板方法设计模式

package com.btp.t2;

/* 解决的问题:
 * 当功能内部一部分实现是确定的,一部分实现是不确定的,这时可以把不确定的部分变量暴露出来,
 * 让子类去实现
 * 编写一个抽象父类,父类提供了多个子类的通用方法,并把一个或多个方法留给其子类实现,
 * 就是一种模板模式
 */
public class TestTemplate 
{
      public static void main(String []args)
      {
    	  new SubTemplate().spendTime();
      }
}

abstract class Template
{
	abstract void code();//不确定的代码
	
	public void spendTime()//测试code所花的时间
	{
		long start=System.currentTimeMillis();
		this.code();
		long end=System.currentTimeMillis();
		System.out.println("花费的时间为:"+(end-start));
	}
}

class SubTemplate extends Template
{

	@Override
	public void code()
	{
		boolean flag=false;
		for(int i=2;i<=100000;i++)
		{
			for(int j=2;j<=Math.sqrt(i);j++)
			{
				if(i%j==0)
				{
					flag=true;
					break;
				}
			}
			if(!flag)
			{
				System.out.println(i);
			}
			flag=false;
		}
	}
	
}

  

  

posted @ 2016-01-22 19:42  GGRoddick  阅读(140)  评论(0编辑  收藏  举报