Динамически изменяемая переменная в Java? (a.k.a одна переменная на выполнение метода) - PullRequest
0 голосов
/ 09 октября 2009

Я хотел бы знать, возможно ли в Java объявить переменную, локальную для выполнения метода.

Например, если я делаю какие-то рекурсивные вещи и хочу сохранить различные счетчики, специфичные для одного конкретного выполнения метода.

Я не знаю правильного английского выражения для этого ...

Ответы [ 4 ]

6 голосов
/ 09 октября 2009
void method()
{
     int i = 0;  // this int is local to 'method'
}
5 голосов
/ 09 октября 2009

Так работает Java по умолчанию. Например, в следующем методе:

void recursive(int i) {
  int localI = 6;
  i-= 1;
  if (i > 0) {
    recursive(i);
  }

localI останется локальным для текущего выполнения метода.

1 голос
/ 09 октября 2009

Обычная локальная переменная внутри метода - именно то, что вы имеете в виду. Эти локальные переменные расположены в стеке. Каждый раз, когда вы вызываете метод, независимо от того, используется он рекурсивно или нет, создается новая копия переменной.

0 голосов
/ 09 октября 2009

Я думаю, вы можете говорить о static переменных. если вы объявите статическую переменную, она сохранит свое значение между выполнениями методов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...