在try块定义的变量不能作用于快外
// int a=2;
try{
int a=3;
System.out.println(a);
}
catch(Exception e){}
System.out.println(a);//出错
try块前定义的变量,可以在try里面使用
int a=2;
try{
// int a=3;
System.out.println(a);//2
}
catch(Exception e){}
System.out.println(a);//2
如果是成员变量,也可以在try里面使用
int a=2;//作成员变量
void show(){
// int a=2;
try{
a=3;
System.out.println(a);
}
try块内改变变量的值,在块外也有体现
int a=2;
try{
a=3;
System.out.println(a);//
}
catch(Exception e){}
System.out.println(a);//
int a;//匿名类能使用
void show(){
// int a;匿名类不能使用
B b=new B(){
void show(){
a=3;
System.out.println(a);
System.out.println("dd");
}
};
b.show();
}
} class B{
void show(){}
}