在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);//3 } catch(Exception e){} System.out.println(a);//3
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(){} }