Java匿名内部类赋值给外部参数

2018-08-13 14:52:47
1308次阅读
0个评论
//如果局部变量不需要传出外部类,只是需要使用它的指,
//那么可以在内部类定一个属性,然后内部类使用该属性就可以了,如
void test() {
    final String name = "test";
    class inner {
        String innername;
        {innername=name;} //定一个属性
        public void innertest() {
             System.out.println(innername); //内部类的方法使用属性
        }
    };
 
    inner i = new inner();
    inner.innertest();
}
 
//如果需要内部类修改局部变量,并且能传到外部类,那么
//因为final只是不能改变它的指向,但是可以改变它的属性,所以你可以用数组来代替,比如
void test() {
    final String[] name = {"test"};
    class inner {
        public void innertest() {
            name[0] = "innertest";
        }
    };
 
    inner i = new inner();
    i.innertest();
    System.out.println(name[0]);
}


收藏00

登录 后评论。没有帐号? 注册 一个。