一、大家都知道当执行一个方法时,如果中途有return会提前结束方法。思考下面的一段代码会返回什么样的结果?
第一种情况:
public static String methodA(){ try{ System.out.println("try methodA"); return "A"; }finally{ System.out.println("run finally"); } } public static void main(String[] args) { System.out.println(methodA());; }Result:
try methodA run finally A第二种情况: public static String methodB(){ System.out.println("methodB"); return "B"; } public static String methodA(){ try{ System.out.println("try methodA"); return methodB(); }finally{ System.out.println("run finally"); } } public static void main(String[] args) { System.out.println(methodA());; }Result:try methodA methodB run finally B
结果一目了然,不做具体分析。
Java方法返回与finally
本文通过两个示例探讨了Java中方法返回与finally块的执行顺序。第一种情况直接在方法内部使用return语句;第二种情况则是在方法中调用另一个方法并返回其结果。两者的finally块均会执行,并且不会影响最终的返回值。
290

被折叠的 条评论
为什么被折叠?



