懂了~谢谢,不过关于隐形提升的说法呢? final修饰的变量会隐形提升等级 就是3L的说法作者: 面向大众 时间: 2014-6-7 21:21
在JVM编译的过程中,它会把被final修饰的变量值直接赋给.class文件中。也就是说.class中相应的位置该变量就是被赋的具体值。
不存在类型提升的说法,如果真的提升了,那就没有局部跟着方法走这一说了...
不信你可以做这样一个例子:
class Outer{
public void show(){
final int x = 3;
class Inner {
public void abc(){
System.out.println("Inner...abc"+x); //编辑结束后这个x的值在相应的.class文件里就是3
}
}
new Inner().abc();
}
}
class InnerClassDemo3 {
public static void main(String[] args)
{
new Outer().show();
}
}