这个变量的范围

时间:2016-03-30 04:52:25

标签: java variables scope

我有这段代码:

public Thread createThread(){
     final int innerVar = 100;   //this Life cycle ?
     return new Thread(){
          public void run(){
             System.out.println(innerVar);
          }
     };
}

我想知道innerVar的生命周期是什么?

innerVar的局部变量是否仍在堆栈中或堆中?

1 个答案:

答案 0 :(得分:3)

innerVar是常量int,因此编译器可以执行常量传播。没有生命周期,因为使用了value而不是变量