0

我想知道是否可以在java中声明一个本地变量来执行该方法。

例如,如果我正在做一些递归的事情,并且我想保留特定于该方法的一个特定执行的各种计数器。

我不知道正确的英文表达...

4

4 回答 4

6
void method()
{
     int i = 0;  // this int is local to 'method'
}
于 2009-10-08T21:08:53.687 回答
5

这就是 Java 默认的工作方式。例如,在以下方法中:

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

localI 将停留在方法的当前执行的本地。

于 2009-10-08T21:11:15.583 回答
1

方法中的正常局部变量正是您的意思。这些局部变量在堆栈上分配。每次调用该方法时,无论是否采用递归方式,都会创建一个新的变量副本。

于 2009-10-08T21:12:38.547 回答
-2

我想你可能在谈论static变量。如果您声明一个静态变量,它将在方法执行之间保存它的值。

于 2009-10-08T21:12:38.623 回答