メソッドの実行に対してローカルな変数を Java で宣言できるかどうかを知りたいです。
たとえば、再帰的な処理を行っていて、メソッドの 1 つの特定の実行に固有のさまざまなカウンターを保持したい場合です。
正しい英語表現がわかりません…
void method()
{
int i = 0; // this int is local to 'method'
}
これは、Javaがデフォルトでどのように機能するかです。たとえば、次の方法では、次のようになります。
void recursive(int i) {
int localI = 6;
i-= 1;
if (i > 0) {
recursive(i);
}
localIは、メソッドの現在の実行に対してローカルのままになります。
メソッド内の通常のローカル変数は、まさにあなたが意味するものです。これらのローカル変数はスタックに割り当てられます。メソッドを呼び出すたびに、再帰的な方法であるかどうかに関係なく、変数の新しいコピーが作成されます。
あなたは変数について話しているのではないかと思いますstatic
。静的変数を宣言すると、メソッドの実行間でその値が保存されます。