最终在try块中忽略了值

时间:2017-07-14 18:08:07

标签: java

在下面的代码片段中,忽略finally块中j更改为20的值,并返回原始值10.

public class Test{

    public static void main(String args[]){
        int i=testMethod(10);
        System.out.println(i);
    }

    public static int testMethod(int j){
        try{
            return j;
        }finally{
            j=20;
        }
    }
}

1 个答案:

答案 0 :(得分:1)

整个 finally块完成后执行try。这意味着,在这种情况下,j已经被阅读并即将被返回。在j块中分配后,finally将不会被重新读取,因此分配没有明显效果。