标签:
在java中有try和fianlly时,try中有return语句,而fianlly中有return和没有return时有什么区别。
1、try中有return,而fianlly中没有return
public class TryFinally { public static void main(String[] args) { System.out.println(test1()); } static int test1(){ int a; try { a = 2; System.out.println("try:a = "+a); return a; } finally{ a = 3; System.out.println("finally:a = "+a); } } }
输出结果为
try:a = 2
finally:a = 3
2
分析:首先执行try里的语句,不执行return,把return的结果放在缓存里,然后执行finally的语句,最后返回缓存里的值。
2、try中有return,fianlly中也有return
public class TryFinally { public static void main(String[] args) { System.out.println(test1()); } static int test1(){ int a; try { a = 2; System.out.println("try:a = "+a); return a; } finally{ a = 3; System.out.println("finally:a = "+a); return a; } } }
输出结果:
try:a = 2
finally:a = 3
3
分析:首先执行try里的语句,不执行return,把return的结果放在缓存里,然后执行finally的语句,fianlly中有return,直接执行return语句,即返回值是fianlly中的return值。
标签:
原文地址:http://www.cnblogs.com/flying123/p/4530239.html