0
public Thread createThread(){
final int innerVar = 100; //this Life cycle ?
return new Thread(){
public void run(){
System.out.println(innerVar);
}
};
}
を、私はinnerVar
のライフサイクルが何であるかを知りたいですか?
ローカル変数innerVar
はまだスタック内かヒープ内のどちらにあるのでしょうか?
Javaは内部でどのように処理しますか?私たちが知っているように、最終変数は一度だけ初期化できます。しかし、私がそのメソッドを2回呼び出すと、2回初期化されます。 – Rehman
@Rehmanこれは変数ではなく、コンパイラはすべての 'innerVar'を' 100'で自由に置き換えることができます。したがって、実行時に、[*スプーンはありません](http://c2.com/cgi/wiki?ThereIsNoSpoon)。 –
ありがとうございます。とった :) – Rehman