谢谢大家,帮忙看个finally、return的小例子
下面那个例子的输出结果是:
func1
func2
2
就是不知道这个2是怎么出来的??? 谢谢大家,帮忙看看吧。
//////////////////////////////////////////////////////////////////////////
package com.yujian.exception;
public class ReturnDemo {
public static void main(String[] args) {
System.out.println(new ReturnDemo().test());
}
int test()
{
try
{
return func1();
}
//finally是异常处理语句结构的一部分,表示总是执行。
finally
{
return func2();
}
}
int func1()
{
System.out.println("func1");
return 1;
}
int func2()
{
System.out.println("func2");
return 2;
}
}
//////////////////////////////////////////////////////////////////////////
------解决方案--------------------其实就是在fun1返回之前会执行finally里面的代码,也就是fun2,但是fun2就return 2;所以就不会再去fun1里面去返回了。
------解决方案--------------------
------解决方案-------------------- ok +1