在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(){}
}

 

相关文章:

  • 2021-10-06
  • 2022-01-10
  • 2021-12-24
  • 2022-12-23
  • 2022-12-23
  • 2022-01-24
  • 2021-11-12
猜你喜欢
  • 2021-06-13
  • 2021-08-17
  • 2021-11-18
  • 2021-07-05
  • 2021-09-11
  • 2021-06-09
  • 2022-12-23
相关资源
相似解决方案