public class B {
static int aVar1;
int aVar2;
public B(int Var1, int Var2){
aVar1 = Var1;
aVar2 = Var2;
}
}public class Test {
public static void main(String[] args) {
B test1 = new B(1, 2);
B test2 = new B(3, 4);
System.out.println(test1.aVar1);
System.out.println(test1.aVar2);
System.out.println(test2.aVar1);
System.out.println(test2.aVar2);
}}
________________________________________________________程序输出结果是:
3
2
3
4请问各位高手们为什么1没有了?
static int aVar1;
int aVar2;
public B(int Var1, int Var2){
aVar1 = Var1;
aVar2 = Var2;
}
}public class Test {
public static void main(String[] args) {
B test1 = new B(1, 2);
B test2 = new B(3, 4);
System.out.println(test1.aVar1);
System.out.println(test1.aVar2);
System.out.println(test2.aVar1);
System.out.println(test2.aVar2);
}}
________________________________________________________程序输出结果是:
3
2
3
4请问各位高手们为什么1没有了?
你在第二个B()里面,修改了它的值,它以后都是这个了
测试下面的代码就知道原因了:
public class aaa {
static int aVar1;
int aVar2;
public aaa(int Var1, int Var2) {
aVar1 = Var1;
System.out.println("aVar1");
aVar2 = Var2;
System.out.println("aVar2");
// TODO Auto-generated constructor stub
} /**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
aaa test1 = new aaa(1,2);
System.out.println("test1: "+aaa.aVar1);
aaa test2 = new aaa(3,4);
System.out.println("test1: "+ aaa.aVar1);
System.out.println("test1: "+ test1.aVar2);
System.out.println("test2: "+ aaa.aVar1);
System.out.println("test2: "+ test2.aVar2);
}}
下一个3 把 aVar1的存储值改变了。
aVar1
aVar2
test1: 1
aVar1
aVar2
test1: 3
test1: 2
test2: 3
test2: 4