甚至可以在另一个类中增加变量吗?实施例:
public class Class1
{
public void Method1()//gets called
{
var c2=new Class2();
c2.a++;
}
}
public class Class2
{
public int a=1;
}
上面的代码只更改了c2中a的值而不是Class2。
调用Method1之后,我希望Class2中的“int a”增加1。 下次我将创建一个新的Class2实例“a”将是2。
答案 0 :(得分:4)
那是因为它不是static
。
static
个变量适用于所有类的实例。如果他们不是static
..他们是每个单独实例的本地人。
将字段声明更改为:
public class Class2 {
public static int a = 1;
// ^^^^^^ this
}
将按预期工作。但是,您不能拥有一个类的实例来访问static
个变量..您必须像这样访问它:
Class2.a++;