有没有办法在Java中使用内部静态变量?例如,这个C代码:
void increment(){
static int i = 0;
i++;
printf("%i",i);
}
我如何用Java做到这一点?
答案 0 :(得分:6)
Java没有任何直接的等价物 - 您希望通过方法调用持久化的所有状态都必须存储在字段而不是局部变量中。所以你可以拥有这个:
private int counter = 0;
public void increment() {
counter++;
System.out.println(counter);
}
...但当然同一类中的其他方法也可以访问counter
。
答案 1 :(得分:0)
出于同样的目的,您必须按照java标准重新编写代码。在方法之外声明变量。如果您只想访问方法内部,则不必是静态的。
int i = 0;
void increment(){
i++;
System.out.println(i);
}