一个小程序问题
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);输出结果就不一样 谁知道为什么
----------------解决方案--------------------------------------------------------
System.gc();
问题应该出在这里 具体是什么原因还是等高手来吧
----------------解决方案--------------------------------------------------------
System.gc();是强制进行终结动作不是它的原因
----------------解决方案--------------------------------------------------------
当存在一个对象的引用的时候,垃圾回收就不会执行
----------------解决方案--------------------------------------------------------
谢谢了 一时糊涂
----------------解决方案--------------------------------------------------------
4楼对的
----------------解决方案--------------------------------------------------------
受教!!!!
----------------解决方案--------------------------------------------------------