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