看别人代码记录2(关于finally)
来源:互联网 发布:最大的mac论坛 编辑:程序博客网 时间:2024/04/28 17:45
public class Test1 {public static void main(String args[]) {Test1 t = new Test1();int b = t.get();System.out.println(b);System.out.println(t.get2());System.out.println(t.get3().getI());}public int get() {try {return 1;} finally {return 2;}}public int get2() {int i=1;try {return i;} finally {i=i+1;}}public MyDate get3() {MyDate x=new MyDate();x.setI(1);try {return x;} finally {x.setI(2);}}class MyDate{int i;public int getI() {return i;}public void setI(int i) {this.i = i;}}}
相信 绝大数的java开发者 看到这个代码对输出结果都犹豫。 很少有很干脆的 确定知道输出结果的。这个结果是2 我顺便写了更多的测试语句 这样会理解的跟清楚一点。
输出是2,1,2
其实看着结果 应该都能知道 究竟怎么一回事。 在try 的return之前 无论什么情况 都肯定要执行finally的 而执行finally的时候。 返回值其实 赋值给了一个新的对象。然后执行完finally后 返回之前备份的那个值。 所以对原始类型 和 对象类型的处理 会不同。
- 看别人代码记录2(关于finally)
- 看别人代码记录2(位移,)
- 看别人代码记录
- 怎么看别人的代码(1)
- 如何看别人代码
- 看别人codereview记录 笔记
- 学习看别人代码的方法
- 看别人的代码不能想当然
- DP 看别人的代码涨眼界
- 转载别人关于mars01-19 contentprovider 记录
- 看别人怎么学技术,并记录自己的发展
- 关于如何看代码
- 关于看代码
- 【POJ3009 - Curling】 解题报告+思路+代码+教训(看别人的报告过的)
- 钱币问题(自己没做出来,代码是看别人的改动了一下)
- aoj0033结题报告(想不出来看了别人的代码,基础实在差。。。)
- 第五周编程题-分解质因数(看了很多别人的代码)
- 第五周编程题-完数(看了很多别人的代码)
- openstack中 window 镜像密码的设置
- WCF (Windows Communication Foundation) Create & Implement a WCF Host
- 矛盾作品
- Tokyo Cabine图解
- Linux驱动学习(一)——简单的hello模块
- 看别人代码记录2(关于finally)
- C++第17周项目2——用指针玩字符串(6)去多余空格
- [转]豆瓣beansdb源码浅析 .
- should be mapped with insert="false" update="false
- [转]Cassandra、MongoDB、CouchDB、Redis、Riak、HBase比较 .
- android——照片管理——系统图库之媒体库(一)
- andriod学习笔记1
- thinkphp简单分页功能
- C++第17周项目2——用指针玩字符串(7)比较