一个小程序问题
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 TerminationCondition{
public static void main(String[] args){
Book novel=new Book(true);
System.gc();
}
}
如果把Book novel=new Book(true);
换成new Book(true);输出结果就不一样 谁知道为什么