问题 单项选择题

有如下程序;
public class MethTest

static int Varl=100;
int Var2=200;
public static void main(String args[])

Varl=10;
MethTest Obj1=new MethTest();
MethTest Obj2=new MethTest();
Obj1.Varl++;
System.out.println(Objl.Varl);
Obj2.Varl++;
System.out.println(Obj2.Varl);
MethTest.Varl++;
System.out.println(Objl.Varl);
Obj1.Var2++;
System.out.println(Obj1.Var2);
Obj2.Var2++;
System.out.println(Obj2.Var2);


程序的运行结果为( )。

A.11
12
13
201
201

B.101
102
103
201
201

C.11
12
13
201
202

D.10
10
10
201
201

答案

参考答案:A

解析: 本题考查实例成员和类成员用法的不同。在给出的程序中,声明一个类变量 Var1、实例变量Var2和类方法main。在类方法main中访问类变量Var1和实例变量Var2,在main方法中还实例化了MethTest类的两个对象Obi1和Obi2,通过这两个对象访问类变量和实例变量。我们知道,可以通过类名直接访问类变量,而且,所有实例对象将共享同一个类变量,每个实例对象对类变量的改变都会直接影响到其他实例对象,但一个对象对实例变量的改变不会影响其他实例对象。因此Var1的值每次都会增1,并且保持已经改变的值,Var2的值由于是分别调用,故值并不会改变。

单项选择题
多项选择题