【发布时间】:2017-11-07 10:18:14
【问题描述】:
我正在尝试了解有关 Java 垃圾收集器和 finalize() 方法的练习。
public class Five {
static int x = 1;
class String5 {
String s;
String5() {
this.s = ""+(++x);
}
public void finalize() {
System.out.print(s);
}
}
String5 a = new String5();
void f() {
String5 a = new String5();
}
public void finalize() {
System.out.print("H");
}
public static void main(String[] args) {
Five a5 = new Five();
a5.f();
a5 = new Five();
a5.f();
System.gc();
System.runFinalization();
}
}
练习要求我预测输出。正确答案是532H。我预测输出应该是2H35,我不明白为什么我的排序不正确。
【问题讨论】:
标签: java oop garbage-collection finalize