public class Test {
public int aMethod() {
static int i = 0; // Illegal modifier for parameter i; only final is permitted
i++;
return i;
}
public static void main(String args[]) {
Test test = new Test();
test.aMethod();
int j = test.aMethod();
System.out.println(j);
}
}
老师给的代码,问运行后会输出什么。还没运行就报错了,报的错误
Illegal modifier for parameter i; only final is permitted
请问这是为什么
方法内部不能有静态变量吧,得 static int i = 0;把这句话往上挪一行,放到类里面。
这句话就是在方法里的,这样写为什么不可以呢?static int i = 0;放在方法里 应该怎么改
@木易·月: 去掉static
@之奇一昂: 谢谢啦
你这样做的话,你编译都通不过。static是个静态的。就是个全局变量,你放在方法里面不就成了局部变量。因此就错了
下列修饰符不能在方法体中使用:
访问修饰符:private,protected,public
静态修饰符:static
抽象:abstract