黑马程序员技术交流社区

标题: 请教大家一个练习题 [打印本页]

作者: 陈国斌    时间: 2013-5-3 21:01
标题: 请教大家一个练习题
问题是这样的,一字没变:
写一个类证明return是在finally执行后才返回的,且在finally无法改变返回值。
可我不太能读懂,啥意思啊?
请教高手,最好有代码,谢谢!
作者: 殇_心。    时间: 2013-5-3 21:20
本帖最后由 殇_心。 于 2013-5-3 21:39 编辑

/*
测试代码如下:
*/

import java.io.*;
class Test
{
        public static void main(String[] args)
        {                                
                System.out.println(sop());                        
        }
        public static String sop()
        {
                String s = null;
                try
                {
                        s = "return后执行。";
                        return s;
                }
                finally
                {
                        s = "改变return值";
                        System.out.println("finally先执行。");
                }
        }
}
这个代码打印出来的结果为
finally先执行。
return后执行。
作者: 黑马华    时间: 2013-5-3 21:26
本帖最后由 黑马华 于 2013-5-3 21:28 编辑

这是我的代码:
package com.itheima;

/**
* 写一个类证明return是在finally执行后才返回的,且在finally无法改变返回值。
*/
public class Test7 {
        
        //定义一个比较谁先的方法whoFirst
        public int whoFirst() {

                int x = 5;

                try {

                        return x;
                } finally {

                        System.out.println(++x);

                }

        }

        public static void main(String[] args) {
               
                //从打印的效果来证明return是在finally执行后才返回的,且在finally无法改变返回值
                System.out.println(new Test7().whoFirst());

        }

}

作者: 陈国斌    时间: 2013-5-3 21:54
多谢各位了!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2