次序为:
1、static块内代码
2、自上而下的运行代码
3、在try{}catch(){}finally{}内,在try{}内遇到return关键字的时候,就马上跳到finally块内执行。
4、执行完毕finally{}块后就执行刚才的return语句
注意:finally内有return后,方法的其他地方就不能存在return。
public class Main {
static{
System.out.println("static");
}
public int test(){
try{
System.out.println("try") ;
return 1 ;
}catch(Exception e){
System.out.println(e.getMessage()) ;
}finally{
System.out.println("finally") ;
}
return 3 ;
}
public static void main(String[] args) {
int i = new Main().test() ;
System.out.println("test:" + i );
}
}