源代码如下:输出结果为
aaaa1
bbbb2
public class Test {
public static void main(String[]args) {
System.out.println("aaaa"+Test.test());;
}
static int test()
{
int x = 1;
try
{
return x;
}
finally
{
++x;
System.err.println("bbbb"+x);
}
}
}
疑惑:个人理解如下,由输出结果表明,先执行了return,输出了aaaa1。然后在执行了finally,输出了bbbb2。但是如果先执行了return,不就代表了该方法结束了,所以finally不在执行?如果先执行了fanally,不应该是先输出bbbb2吗?