帮忙看一下为何finalize不调用?
class Book {
boolean CheckedOut = false;
Book (boolean checkOut) {
CheckedOut = checkOut;
}
void CheckIn() {
CheckedOut = false;
}
@Override
public void finalize() {
if (CheckedOut){
System.out.println("Error:checked out");
}
}
}
public class hellodate {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Book novel = new Book(true);
novel.CheckIn();
new Book(true);
System.gc();//强制系统进行垃圾回收和调用finalize函数
}
} /* Output:
*///:~