在Java中,在静态方法内部声明的变量本身是静态的吗?


问题内容

假设以下内容:

私有静态布尔A()
{
  int parsedUntil = 0;
  ...
  ...
  ...
}

parsedUntil是否被视为静态变量?我注意到我无法在此静态函数中将其声明为静态。

后续问题:我读到一个静态变量只会被初始化一次。这是否意味着我第一次调用函数A()时,该值将设置为零,但是每隔一次我调用A()时,该行将被省略吗?


问题答案:

不,它不是静态变量。这是一个局部变量。方法中声明的任何变量都是局部变量。如果需要静态变量,则必须在方法外声明它:

private static int parsedUntil = 0;

没有办法声明只能在单个方法中使用的静态变量。