为什么在下面的代码中,虽然finally块执行了,但x的值没有更新,
public class Student
{
public static void main(String...args)
{
ABC obj=new ABC();
System.out.println("x : "+obj.display());
}
}
class ABC
{
int x;
int display()
{
try
{
x=10;
System.out.print("Inside Try ");
return x;
}
finally
{
x=x+20;
System.out.print("I execute ");
}
}
}
此代码的输出是
内部尝试 我执行 x:10
虽然finally块正在执行,但x的值不会改变。有人可以解释一下原因吗?