DESKTOP-9M8MO52_20200904-周俊
一,问题
public class Magpie {
public int wusuiwei1() {
int a = 100 ;
try {
return a ;
} catch( Exception e ) {
return -a;
} finally {
++a ;
}
}
public int wusuiwei2() {
int a = 100 ;
try {
return a ;
} catch( Exception e ) {
return -a;
} finally {
return ++a ;
}
}
public static void main(String[] args) {
Magpie m = new Magpie();
int x = m.wusuiwei1();
System.out.println( x );
int y = m.wusuiwei2();
System.out.println( y );
}
}
输出:100
101
try语句块中return时先将返回值记录,再执行finally语句块,如果finally语句块中有return,则覆盖执行,如果没有return则返回记录值。
近期评论