abstract抽象类与模板方法设计模式

简单示例

package baseSome;

/**
 * 需求:获取一段程序运行的时间
 * 原理:获取程序开始和结束的时间并相减即可
 * 获取时间:System.currentTimeMillis();
 * @author 董
 *当代码完成优化后,就可以解决这类问题
 *这种方式,模板方法设计模式
 *什么是模板方法呢?
 *在定义功能时,功能的一部分是确定的,但是有一部分是不确定,而确定的部分在使用不确定的部分
 *那么这时就将不确定的部分暴露出去。
 */
public class AbstractDemo {
	public static void main(String[] args) {
		//子类调用父类的方法
		new SubTime().getTime();
	}
}

abstract class GetTime
{
	public final void getTime() {
		//开始时间获取
		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 x = 0 ; x < 5000 ; x++) {
			System.out.print(x);
		}
	}
	
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值