【发布时间】:2015-12-02 15:07:42
【问题描述】:
我是 Java 新手。我在阅读有关 Java 的介绍性书籍时阅读了以下代码,同时阅读了有关 finalize 方法的内容。
class FDemo{ int x;
FDemo(int i){
x=i;
}
protected void finalize(){
System.out.println("Finalizing " +x)
}
void generator(int i) {
FDemo o= new FDemo(i);
}
}
现在在创建对象时,我在新类中遇到了以下问题
int count;
FDemo ob= new FDemo(0);
for (count=1;count<10000000;count++)
ob.generator(count);
我无法理解我们如何在 for 循环中使用相同的名称“o”创建新对象?我们是否必须创建一个新对象,然后在下一次迭代中丢弃整个循环中的现有对象“o”? 另外,如果我们不断地创建和丢弃同一个对象,为什么 finalize 会执行 1000 万而不是 1000?就像我说的,我是一个初学者,对于这里的大多数人来说,这个问题可能听起来很基础,甚至很愚蠢,但如果你能抽出几分钟来回答,我将不胜感激。 谢谢
【问题讨论】:
-
只是好奇,您在阅读 Herbert Schildt 的 Java-A Beginner's Guide 吗?
-
关于 finalize 你需要知道的是,你不应该永远依赖它。
-
@TT。他只是在学习如何使用它,而不是在这里编写真正的程序。
-
@AshwinGupta 这是唯一需要了解的关于 finalize 的内容。
-
是的,我正在阅读 Java - 初学者指南 @AshwinGupta