gpt4 book ai didi

java - 中的finalize方法

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:03:16 25 4
gpt4 key购买 nike

<分区>

我正在阅读Thinking in Java,第 4 版。我发现一个问题:当我在Eclipse IDE中测试源代码时,发现结果不一样。我希望有人能帮助我!

这里是源码

class Book {
boolean checkedOut = false;

Book(boolean checkOut) {
checkedOut = checkOut;
}

void checkIn() {
checkedOut = false;
}

protected void finalize() {
if(checkedOut)
System.out.println("Error:checked out");
//Normally,you'll also do this:
//super.finalize();//Call the base-class version
}
}


public class TerminationCondition {
public static void main(String[]args) {
Book novel=new Book(true);

//Proper cleanup:
novel.checkIn();

//Drop the reference,forget to clean up:
new Book(true);
new Book(true);
new Book(true);

//Force garbage collection & finalization:
System.gc();
}
}

本书的结果:

Error: Checked out

IDE的结果

(nothing)

我使用的 Java 版本:

Java 版本“1.7.0_51”
Java(TM) SE 运行时环境 (build 1.7.0_51-b13)
Java HotSpot(TM) 64 位服务器 VM(构建 24.51-b03,混合模式)

本书中的 Java 版本是 Java 5。finalize 方法有什么变化吗?

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com