JDK8新特性

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 因为第15行已经把a当成是常量使用了,所以在这里再写a++,在没有写final int a = 1;时,第15行会报错
}
}

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 因为第15行a是常量,所以在这里再写a++,会报错,因为a的值无法改变
}
}
原文地址:https://www.cnblogs.com/chenpeisong/p/9749653.html