public static void main(String[] args) {
System.out.println(Test.test());
}
public static int test() {
int a = 1;
try {
System.out.println(a++);
return ++a;
} catch (Exception e) {
e.printStackTrace();
} finally {
System.out.println(++a);
System.out.println(a++);
}
return a;
}
打印结果为1,4,4,3。JVM在return之前会把返回值存到临时内存中,finally的处理不影响返回值。