遇到的java基础问题,非常怪异
有一段代码:
int x(){
int a = 0;
try{
a = 80;
return a;
}finally{
a = 100;
}
}
调用x()方法后,返回值为多少?80?100?麻烦解释一下原因好吗?
------解决方案--------------------
返回值为80,
假设a调用x方法 ,执行到return a时返回,a得到想要的结果80,
finally继续执行,给a赋值100,但a=100仅限于在x方法中,对调用x的对象a并无任何影响。