我想知道是否可以在java中声明一个本地变量来执行该方法。
例如,如果我正在做一些递归的事情,并且我想保留特定于该方法的一个特定执行的各种计数器。
我不知道正确的英文表达...
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
变量。如果您声明一个静态变量,它将在方法执行之间保存它的值。