新手学Java 求教

2025-02-26 19:31:08
推荐回答(2个)
回答1:

public class Test {
private long beginTime; //开始时间

private boolean status; //状态

public Test(){
//实例化的同时设定开始时间
beginTime = System.currentTimeMillis();
}

//重写finalize
@Override
protected void finalize() throws Throwable {
//当状态为false时才可以被销毁
if(!status){
//输出时长
System.out.println(System.currentTimeMillis() - beginTime);
super.finalize();
}
else
throw new Exception("状态不为空!");
}

public static void main(String[] args) {
Test test = new Test();
test.status = true; //将状态设为真,此时销毁抛出异常
try {
Thread.sleep(3000); //线程挂起,方便显示时长
test.finalize();
} catch (Throwable e) {
e.printStackTrace();
}
}
}

有不懂再问我

回答2:

完全表示看不懂