我想知道在java中是否可以为方法的执行声明一个本地变量。
例如,如果我正在做一些递归的东西,我想保留各种特定于该方法的特定执行的计数器。
我不知道正确的英语表达......
答案 0 :(得分:6)
void method()
{
int i = 0; // this int is local to 'method'
}
答案 1 :(得分:5)
这是Java默认工作的方式。例如,在以下方法中:
void recursive(int i) {
int localI = 6;
i-= 1;
if (i > 0) {
recursive(i);
}
localI将保持当前执行方法的本地。
答案 2 :(得分:1)
方法中的正常局部变量正是您的意思。这些局部变量在堆栈上分配。每次调用方法时,无论是否采用递归方式,都会创建一个新的变量副本。
答案 3 :(得分:-2)
我想你可能在谈论static
变量。
如果你声明一个静态变量,它将在方法的执行之间保存它的值。