计算方法执行时间 & 匿名内部类

public class TimerHomework {

// 1. 定义一个任务接口(用于配合匿名内部类)
interface Task {
void execute();
}

// 2. 通用计时方法:计算传入任务执行了多少秒
public static void calculateExecutionTime(Task task) {
long startTime = System.currentTimeMillis(); // 记录开始时间(毫秒)

// 执行传入的具体任务(这就是用到了匿名内部类的地方)
task.execute();

long endTime = System.currentTimeMillis(); // 记录结束时间(毫秒)

// 计算时间差,转为秒(保留小数点)
double seconds = (endTime - startTime) / 1000.0;

System.out.println("方法执行耗时: " + seconds + " 秒");
}

public static void main(String[] args) {
System.out.println("--- 开始测试匿名内部类与计时 ---");

// 3. 【核心点】这里使用匿名内部类,直接传入我们要测试的代码块
calculateExecutionTime(new Task() {
@Override
public void execute() {
// 模拟一个耗时任务:睡眠 2.5 秒
try {
System.out.println("任务开始执行...");
Thread.sleep(2500); // 暂停 2500 毫秒 (2.5秒)
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println("任务执行结束!");
}
});

System.out.println("--- 测试结束 ---");
}
}
6862a7bd9aa4ace5133e0cc616a82183

posted on 2026-06-18 19:08  94hc  阅读(2)  评论(0)    收藏  举报