class A{
int n = 10;
public void m(){
int a = 1;//在JDK1.8中,默认添加final---->final int a = 1; 所以在15行可以访问
class B{
public void method(){
System.out.println(n);
System.out.println(a);
}
}
// a++;//error 因为第8行已经把a当成是常量使用了,所以在这里再写a++,在没有写final int a = 1;时,第8行会报错
}
}
class C{
int n = 10;
public void m(){
final int a = 1;//主动添加final后
class B{
public void method(){
System.out.println(n);
System.out.println(a);
}
}
// a++;//error 因为第8行a是常量,所以在这里再写a++,会报错,因为a的值无法改变
}
}