本帖最后由 王震阳 于 2012-10-9 19:11 编辑
- //在这个例子中,我们可以看到尽管在finally前有return,但是finally()方法是一定会运行的。
- //代码System.out.println(new Test7().test());调用了test()方法时,获得了一个返回值x,此时x=1,至此该方法继续进行++x,此时x才等于2.
- public class Test7
- {
- public static void main(String[] args)
- {
- System.out.println(new Test7().test());
- //下面两行代码和上面代码效果是一样的。
- int y=new Test7().test();//定义个变量用于存储test()方法的返回值,也就是获取return x,中的x的值。
- System.out.println(y);
- }
- static int test()
- {
- int x = 1;
- try
- {
- return x;
- }
- finally
- {
- System.out.println("finally()方法正在运行。。。");
- ++x;
- System.out.println("x="+x);
- }
- }
- }
复制代码 上面程序演示图如下:通过该程序和图就可以解决楼主的疑问。
|
|