可以把以下代码拷贝运行一下,应该能理解清楚
package com.itheima;
/**
* 第6题: 写一个类证明return是在finally执行后才返回的,且在finally无法改变返回值。
* @author Administrator
*
*/
public class Test6 {
public static void main(String[] args){
//创建FinallyDemo类对象
FinallyDemo fd = new FinallyDemo();
//定义整型变量接收fd调用函数show()的返回值
int x = fd.show();
//输出x
System.out.println("执行return,接收return返回值为 x="+x);
}
}
//创建 FinallyDemo类
class FinallyDemo{
//定义类方法show()
int show(){
//定义数组arr
int[] arr ={0,1,2,3} ;
int x=100;
//通过try{}finally{}检测异常
try{
x = arr[0];
System.out.println("执行到return语句之前");
return x;
}
finally{
System.out.println("执行了fianlly语句");
x=9999;
//验证finally先于return执行,且在finally虽然能给x赋值,却改变不了返回值
System.out.println("在fianlly中给 变量x赋值之后 x="+x);
}
}
}
|