Java中是否允许使用静态局部变量?
与 C/C++ 不同, Java中不允许使用静态局部变量。例如,以下Java程序编译失败并出现错误“Static local variables are not allowed”
class Test {
public static void main(String args[]) {
System.out.println(fun());
}
static int fun()
{
static int x= 10; //Error: Static local variables are not allowed
return x--;
}
}
在Java中,静态变量是类变量(对于整个类)。因此,如果我们有静态局部变量(范围仅限于函数的变量),它就违反了 static 的目的。因此编译器不允许静态局部变量。