我觉得答案应该是B,但答案是C,有点不理解。
class Bar{}
class Test{
Bar doBar(){
Bar b=new Bar();
return b;
}
public static void main(String arg[]){
Test t=new Test();
Bar newBar=t.doBar();
System.out.println( "new bar ");
newBar=new Bar();
System.out.println( "finishing ");
}
}
At what poing is the Bar object,create on line 3,eligible for garbage collection?
A.after line 8;
B.after line 10;
C.after line 4,when doBar() completes.
C.after line 11,when doBar() completes.
------解决方案--------------------听高手讲解。。。。。。
------解决方案--------------------应该是在newBar=new Bar();这句话之后
------解决方案--------------------line呢?
------解决方案--------------------在方法内部创建的对象 当方法调用完以后就成为垃圾 个人认为!
------解决方案--------------------At what poing is the Bar object,create on line 3,eligible for garbage collection?
我还没看懂!要看懂了这句我应该可以解释,我这里没翻译工具!
------解决方案--------------------:)
------解决方案--------------------当对象不在被引用时,才会被回收。
Bar doBar(){
Bar b=new Bar();
return b;
}//上面的方法中,创建的对象始终由b引用,这个地方会出现内存泄漏。