-3
这里我使用static关键字来实例化一个变量而我使用两个不同的对象调用变量。我想打印结果为1和2而不使用static关键字。提前感谢。增加一个变量而不使用静态关键字
public class Test {
static int a = 1;
public void meth() {
System.out.println(a);
a = a + 1;
}
public static void main(String[] args) {
Test a = new Test();
Test b = new Test();
a.meth(); //prints 1
b.meth(); //prints 2
}
}
分配的问题? –
当您删除static关键字时,a的值不再在“Test”的两个实例中共享。因此,由于每个实例都有自己的计数变量,因此您的输出将为“1 1”。 – f1sh
'a'在所有实例之间共享。如果你删除了'static',它将与每个实例关联。创建一个实例并调用两次“meth” - 第一个调用将打印1,第二个将打印2。 – Maroun