Dee*_*rma 1 java static constructor static-variables
编译说illegal modifier for parameter i.
请告诉我我做错了什么.为什么我不能在Java构造函数中使用静态变量?
class Student5{
Student5() {
static int i = 0;
System.out.println(i++);
}
public static void main(String args[]){
Student5 c1 = new Student5();
Student5 c2 = new Student5();
Student5 c3 = new Student5();
}
}
Run Code Online (Sandbox Code Playgroud)
因为你在哪里声明i:
Student5(){
static int i=0;
System.out.println(i++);
}
Run Code Online (Sandbox Code Playgroud)
编译器将其视为构造函数中的局部变量:局部变量不能声明为static.有关允许局部变量使用哪些修饰符的详细信息,请参阅Java语言规范的第14.4节.
从代码似乎试图做什么来判断,您可能希望i成为静态成员Student5,而不是构造函数中的局部变量:
class Student5{
private static int i = 0;
Student5(){
System.out.println(i++);
}
. . .
}
Run Code Online (Sandbox Code Playgroud)