局部内部类中变量的使用
关于局部内部类的使用注意事项:
局部内部类在JDK8之前只能使用成员变量和被final修饰的局部变量。JDK8之后,局部内部类如果使用局部变量那么局部变量默认被final修饰,但如果局部变量被重新赋值,那么局部内部类将不能在使用。
具体看下例子:
public void show() {
int j = 0; //jdk1.8后默认被final修饰。1.8之前局部内部类只能访问成员变量,和被final修饰的局部变量
class A{
public void showA() {
System.out.println(i);
System.out.println(j);
}
}
// j = 2;//如果对局部变量做了修改,则默认会变成不被final修饰。局部内部类不可调用
}
//注:有静态成员的一定是静态内部类