【小白求解】关于静态变量的问题,问下代码的问题
public class x {
private static int a;
public static void main(String[] args) {
modify(a);
System.out.println(a);
}
public static void modify(int a) {
a++;
}
}
这个要怎么稍作修改能使a=1啊,还有就是private static int a;这一行 为什么与public static void main(String[] args)互换会产生错误?谢谢大虾。。
[解决办法]
为什么不能打印1,是因为这里是值传递,并不是对象传递,int a,这里的a不是对象,只是代表了一个整数
改成这样:
public class x {
public static void main(String[] args) {
modify();
System.out.println(a);
}
private static int a=0;
public static void modify() {
a++;
}
}