我只是学习java并且遇到过两种方法来做同样的事情。我的问题是:它们之间有什么区别?谢谢。
选项A:
class Foo {
public static int var;
Foo (){
var = 0;
}
public static void main(String[] args) {
Foo object = new Foo();
object.method();
System.out.println(object.var); //prints 1
}
public void method (){
var++;
}
}
选项B:
class Foo {
public static int var;
Foo (){
var = 0;
}
public static void main(String[] args) {
Foo object = new Foo();
method(object);
System.out.println(object.var); //prints 1
}
public static void method (Foo object){
object.var++;
}
}
答案 0 :(得分:0)
强化@eckes上面提到的内容 -
这些样本中比较常见的更常见 - 两者都模糊不清并促进不良行为 Understanding Class Members
注意:您还可以使用对象引用引用静态字段 喜欢
myBike.numberOfBicycles
但气馁,因为它并不清楚它们是类变量。
在这种情况下,清除增加静态变量的方法:Foo.var++
在现实生活中,拥有可变的静态变量通常是错误的。特别是如果你是初学者。