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