Topic: 为什么就打印了一遍”Error: checked out“

  Print this page

1.为什么就打印了一遍”Error: checked out“ Copy to clipboard
Posted by: 3052401056
Posted on: 2006-07-17 15:24

class Book {
boolean checkedOut = false;
Book(boolean checkOut) {
checkedOut = checkOut;
}
void checkIn() {
checkedOut = false;
}
public void finalize() {
if(checkedOut)
System.out.println("Error: checked out");
}
}

public class DeathCondition {
public static void main(String[] args) {
Book novel = new Book(true);
novel.checkIn();
new Book(true);
System.gc();
}
} 为什么结果就打印了一遍”Error: checked out“ ,程序不是创建了2个对象吗?System.gc()不是会调用所有 对象的finalize() 的吗?? 麻烦大家帮我看下 谢谢!

2.Re:为什么就打印了一遍”Error: checked out“ [Re: 3052401056] Copy to clipboard
Posted by: zcjl
Posted on: 2006-07-17 16:59

3052401056 wrote:
class Book {
boolean checkedOut = false;
Book(boolean checkOut) {
checkedOut = checkOut;
}
void checkIn() {
checkedOut = false;
}

public void finalize() {
if(checkedOut)

System.out.println("Error: checked out");
}
}

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

new Book(true);
System.gc();
}
}


请注意上面红色加重部分的代码

3.Re:为什么就打印了一遍”Error: checked out“ [Re: 3052401056] Copy to clipboard
Posted by: 3052401056
Posted on: 2006-07-17 17:32

谢谢楼上的


   Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent
Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1
客服电话 18559299278    客服信箱 714923@qq.com    客服QQ 714923