一、大家都知道当执行一个方法时,如果中途有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
结果一目了然,不做具体分析。