日期:2014-05-20  浏览次数:20718 次

遇到的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并无任何影响。