对try-catch语句块中变量的作用域说明
try-catch语句块中变量的作用域,与其它语句块的作用域一样。
- 在语句块内部定义的变量,作用域在语句块内部,外部不可见。
/*语句块内部*/
try{
int a = 0;
}catch(Exception e){
int b = 0;
}finally{
int c = 0;
}
/*语句块外部*/
//a = 5; //非法,编译器无法识别该变量
//b = 5; //非法,编译器无法识别该变量
//c = 5; //非法,编译器无法识别该变量
- 在语句块外部定义的变量,在语句块内部可以对变量进行修改。
/*语句块外部*/
int a = 0;
/*语句块内部*/
try{
a = 5;
}catch(Exception e){
a = 5;
}finally{
a = 5;
}
/*语句块外部*/
System.out.println(a);
运行结果为
5