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