美文网首页
Java 趣味分享:试图/最终

Java 趣味分享:试图/最终

作者: 9842d350648c | 来源:发表于2019-04-09 20:50 被阅读0次

    考虑以下四个测试方法,它们会输出什么?

    公共课测试{

    public static void main(String [] args){

    的System.out.println(TEST1());

    的System.out.println(TEST2());

    的System.out.println(TEST3());

    的System.out.println(TEST4());

    }

    private static int test1(){

    int i = 1;

    尝试{

    回归我;

    } catch(例外e){

    e.printStackTrace();

    } finally {

    i = 0;

    }

    回归我;

    }

    private static int test2(){

    int i = 1;

    尝试{

    回归我;

    } catch(例外e){

    e.printStackTrace();

    } finally {

    i = 0;

    回归我;

    }

    }

    private static User test3(){

    用户user =新用户(“u1”);

    尝试{

    返回用户;

    } catch(例外e){

    e.printStackTrace();

    } finally {

    user = new User(“u2”);

    }

    return null;

    }

    private static User test4(){

    用户user =新用户(“u1”);

    尝试{

    返回用户;

    } catch(例外e){

    e.printStackTrace();

    } finally {

    user.setName( “U2”);

    }

    return null;

    }

    }

    公共类用户{

    public User(String name){

    this.name = name;

    }

    私有字符串名称;

    public String getName(){

    返回名称;

    }

    public void setName(String name){

    this.name = name;

    }

    @覆盖

    public String toString(){

    返回名称;

    }

    }

    答案如下:

    1

    0

    U1

    U2

    结论

    1,不管尝试,最后都会执行;

    2,在尝试中的回报,在最后执行前会把结果保存起来,即使在最后中有修改也以尝试中保存的值为准,但如果是引用类型,修改的属性会以最终修改后的为准;

    3,如果试图/最终都有返回,直接返回终于中的回报。

    转载的https://www.toutiao.com/a6677707611640431108/

    相关文章

      网友评论

          本文标题:Java 趣味分享:试图/最终

          本文链接:https://www.haomeiwen.com/subject/sxriiqtx.html