public class Test{
public int aMethod(){
static int i = 0;
i++;
System.out.println(i);
}
public static void main(String[] args){
Test test = new Test();
test.aMethod();
}
}
错在哪里!
为什么不能 static int i = 0; ?
为什么!
追答static变量在编译时已经分配内存,
定义static变量是称为静态变量 也是局部变量
在java语法里,方法定义里的形参以及方法体中的变量都是局部变量,不能使用访问权限修饰符public,private和protected。你声明的这个i变量在方法体里,却使用了访问权限修饰符。
你要么把static int i=0 放方法外面去 要么设置为非static
还有 就是你的方法没有返回值