finally关键字。异常处理的出口,不管有没有异常finally语句块都会被执行。用在资源的释放上。
finally和final的区别?
(1)finally用于异常处理的。表示异常的一个出口,主要用于资源的释放。
(2)final表示最终的,可以修饰属性,方法,类。
①修饰属性表示常量
②修饰方法表示该方法不可被覆写。
③修饰类表示该类不能被继承。
public static void main(String[] args) {
System.out.println(fun());
}
public static int fun() {
int i=1; //1
try {
i++; //2
return i; //返回2
}catch(Throwable e){ //不执行
i++;
}finally {
i++; //3,执行后返回try return
}
return i;
}
finally里的操作不会影响到try,运行结果是2。
public static void main(String[] args) {
System.out.println(fun());
}
public static int fun() {
int i=1; //1
try {
i++; //2
return i; //返回2
}catch(Throwable e){ //不执行
i++;
}finally {
i++; //3,执行后return返回,程序结束
return i;
}
}
这里finally里运行return就结束了不会返回try里的return,运行结果是3。