Java进阶——Java 局部内部类访问局部变量必须加final
发布时间
阅读量:
阅读量
Java 局部内部类访问局部变量为什么必须加final关键字
疑问
在Java中,在嵌套类中引用方法中的变量时,请确保该变量声明为final类型;否则,在编译过程中会遇到错误。
此部分涉及的内层类型归为具体实现中的内层类型(即方法内层或匿名内层),不包括非静态、非成员的内层类型
这里通过一个例子类分析
public class InnerClass {
private int defaultAge = 5;
局部变量 age,必须添加final关键字,这里先不加
public void addAge( int age){
//局部内部类
class NewAge{
private int getAge(){
return age + defaultAge;
}
}
NewAge newAge = new NewAge();
System.out.print(newAge.getAge());
}
}
强行不加final,编译,则会报错:
Error:(16, 12) 错误: 从内部类中访问本地变量age; 需要被声明为最终类型
全部评论 (0)
还没有任何评论哟~
