下面的程序代码输出的结果是多少?

public class smallT

{

public static void main(String args[])

{

smallT t = new smallT();

int b = t.get();

System.out.println(b);

}

public int get()

{

try

{

return 1 ;

}

finally

{

return 2 ;

}

}

}

输出结果是:2

这个程序还是刚才介绍的return语句和finally块的顺序问题。

Java会把return语句先执行完、把所有需要处理的东西都先处理完成,需要返回的值也都准备好之后,但是还未返回之前,程序流程会转去执行finally块。但如果在执行finally块时遇到了return语句,程序将会直接使用finally块中的return语句来返回——因此上面程序将会输出2

Java Program!
原文地址:https://www.cnblogs.com/programb/p/14068561.html