Java趣味分享:try/finally
来源:互联网 发布:js监听软键盘收起事件 编辑:程序博客网 时间:2024/05/18 03:28
考虑以下四个测试方法,它们会输出什么?
public class Test {
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;
try {
return i;
} catch (Exception e) {
e.printStackTrace();
} finally {
i = 0;
}
return i;
}
private static int test2() {
int i = 1;
try {
return i;
} catch (Exception e) {
e.printStackTrace();
} finally {
i = 0;
return i;
}
}
private static User test3() {
User user = new User("u1");
try {
return user;
} catch (Exception e) {
e.printStackTrace();
} finally {
user = new User("u2");
}
return null;
}
private static User test4() {
User user = new User("u1");
try {
return user;
} catch (Exception e) {
e.printStackTrace();
} finally {
user.setName("u2");
}
return null;
}
}
public class User {
public User(String name) {
this.name = name;
}
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Override
public String toString() {
return name;
}
}
答案如下:
1
0
u1
u2
结论
1、不管try,finally都会执行;
2、在try中return,在finally执行前会把结果保存起来,即使在finally中有修改也以try中保存的值为准,但如果是引用类型,修改的属性会以finally修改后的为准;
3、如果try/finally都有return,直接返回finally中的return。
- Java趣味分享:try/finally
- java try return finally
- java的try-finally
- java---try ---catch--finally
- java try,finally
- java try catch finally
- Java:try与finally
- Java try finally
- Java: try catch finally
- java-try...catch...finally
- java try-catch-finally
- java's try and finally
- Java中的try catch finally
- Java 异常: try...catch...finally
- java之 try catch finally
- java中的try catch finally
- java中try和finally
- Java 中的try-catch-finally
- PDA连接打印机使用说明
- Log4j 2使用教程一【简单使用】
- 深入理解CAS算法原理
- spring bean初始化及销毁你必须要掌握的回调方法。
- Java集合从菜鸟到大神演变
- Java趣味分享:try/finally
- SElinux type 引起的SSH认证免密登陆失败总结
- 好未来:删除公共字符串
- 彻底理解正向代理和反向代理
- 设计模式之单例模式实践
- 获取Spring的ApplicationContext的几种方式
- Spring AOP注解为什么失效?90%Java程序员不知道
- @Resource,@Autowired,@Inject3种注入方式详解
- codeforces Div.2 #840D Leha and another game about graph 顶点权值为度数对应奇偶