当对象引用变量被声明为final时,它何时才有资格进行垃圾回收

时间:2016-01-18 15:33:11

标签: java

这是我的代码片段,其中我使用的是最终对象引用..

public class FinalTest{
    private int rollNo;
    public static void main(String[] args){
        final FinalTest obj = new FinalTest();
        obj.rollNo=20;

        obj.rollNo=30;

        System.out.println(obj.rollNo);
        obj = null; 

    }
}

最后我将null赋给引用变量obj .. 但java不允许这样做。所以我想知道在这种情况下(当我们 不要将null赋给我们的对象引用obj) 这个obj是否有资格进行垃圾收集。

1 个答案:

答案 0 :(得分:3)

当方法完成时,obj持有引用的对象应该有资格进行垃圾收集,因为程序流应该已经在不同的执行范围(即其他方法/类)