以下Java程序在编译时失败,并显示错误“不允许静态局部变量”
class Myclass {
public static void main(String args[]) {
System.out.println(Myfun());
}
static int Myfun()
{
static int var= 10;
return var += 1;
}
}
答案 0 :(得分:2)
如果你想要一个静态变量(其值将在对静态方法的连续调用中重用),请在方法之外声明它:
static int var= 10;
static int Myfun()
{
return var += 1;
}
局部变量不能是静态的,因为局部变量仅存在于方法的单次执行范围内。
答案 1 :(得分:0)
在静态块中,你声明的内容变为静态。
在你的情况下,Myfun()是静态的,所以如果你想把var变为静态,那么只需要做int var = 10
class Myclass {
public static void main(String args[]) {
System.out.println(Myfun());
}
static int Myfun()
{
int var= 10;
return var += 1;
}
}