java关键字 try( 二 )

函式返回10,1次调用后a的值为1jdk在进行编译时,会这样理解代码:1、将a + 10的值进行暂存,等待函式返回(该值为10)2、执行a++(a的值变为1)3、返回刚才暂存的值相当于【java关键字 try】int tmp = a + 10;return tmp;例4:private int a = 0;private static int change() {    return ++a;    private static int c4() {    try {        return change();    } finally {        return change();    }}c4函式返回2,1次调用后a的值为2jdk在进行编译时,会这样理解代码:1、(在try中)调用change并将其结果的值进行暂存,等待函式返回(该值为1)(a的值变为1)2、(在finally中)调用change并返回(该值为2)(a的值变为2)(之前暂存的值失效,JVM会自动进行记忆体回收)相当于try {    int tmp = change();    return tmp; // unreachable statement} finally {    int t = change();    return t;}