java定义此变量的范围
我有以下代码:
public Thread createThread(){
final int innerVar = 100; //this Life cycle ?
return new Thread(){
public void run(){
System.out.println(innerVar);
}
};
}
我想知道innerVar
的生命周期是什么
innerVar
的局部变量是否仍在堆栈或堆中
# 1 楼答案
innerVar
是一个常量int
,因此编译器可以执行常量传播。没有生命周期,因为使用了value
而不是变量