A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 泛大陆 中级黑马   /  2015-7-28 08:46  /  297 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 泛大陆 于 2015-7-28 08:52 编辑
  1. import java.util.Date;

  2. public class Test7 {

  3.         /**
  4.          * 7、 用代码证明,在try中写了return,后面又写了finally,是先执行return还是先执行fianlly?
  5.          *
  6.          */
  7.         /*
  8.          * 通过以下代码测试,程序先执行return记录了一个时间,但是没有直接把结果返回并结束进程,而是执行
  9.          * finally语句,finally结束后return才将刚才记录的时间返回。
  10.          * */
  11.         public static void main(String[] args)
  12.         {                 
  13.                 System.out.println("returnTime:"+rfTest());//调用rfTest方法并将其返回的时间打印输出
  14.         }
  15.         public static Date rfTest()
  16.         {
  17.                 try
  18.         {
  19.                         System.out.println("try run");
  20.                         return new Date();//返回一个时间                                         
  21.         }         
  22.         finally
  23.         {               
  24.                 System.out.println("finally run");
  25.                 try
  26.                 {  
  27.                 Thread.sleep(2000);//为了看到时间差,让线程暂停2秒
  28.             }
  29.                 catch (InterruptedException e)
  30.                 {  
  31.                         System.out.println(e.toString());  
  32.             }
  33.                         System.out.println("finallyTime2:"+new Date());//输出当前时间,方便和return的返回时间比较
  34.         }
  35.         }
  36. }
复制代码

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马