局部内部类可以访问定义该类的作用字段中的所有变量,包括局部变量、方法参数、实例变量(假设是一个非静态语句块)和静态变量。唯一的限制是局部变量或方法参数只有在声明成final时才可以使用。规定这种限制的主要原因是由于多线程问题,其次是为了确保从内部类访问这些变量时,他们都有明确定义的值。假设访问局部变量或参数的方法可以在定义局部类的方法执行完成以后调用(此时局部变量和参数都不再存在了),那么这些变量的值就必须在局部类对象创建之前冻结。如果有必要,可将非final变量拷贝到即将被局部内部类访问的final变量中。
局部内部类 与 final变量
最新推荐文章于 2021-07-07 19:57:55 发布
本文探讨了局部内部类如何访问其外围作用域中的变量,并强调了局部变量和方法参数必须声明为final才能被访问的规定。这主要是为了避免多线程问题并确保变量值的明确性。
506

被折叠的 条评论
为什么被折叠?



