我觉得答案应该是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引用,这个地方会出现内存泄漏。