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