[单项选择题] 下面程序段的输出结果为 package test; public class ClassA int x=20; static int y=6; public sta

17 查阅

[单项选择题] 下面程序段的输出结果为

package test;

public class ClassA

int x=20;

static int y=6;

public static void main(String args[])

ClassB b=new ClassB();

b.go(10);

System.out.println("x="+b.x);

class ClassB

int x;

void go(int y)

ClassA a=new ClassA();

x=a.y;

A.x=10

B.x=20

C.x=6

D.编译不通过

参考答案:

C

本题考查在Java中静态变量(类变量)的用法。在题目程序段中生成了一个static int y=6类变量,在ClassA中调用的 b.go(10),只不过是在ClassB中的一个局部变量,通过调用ClassB中的go方法可以生成一个ClassA对象,并给这个新生成的对象赋以ClassA中的类变量y的值。从main()方法作为入口执行程序,首先生成一个ClassB的对象,然后b.go(10)会调用 ClassA,会给x和y赋值,x=a.y后,x值为6,再返回去执行System.out.println("x="/b.x)语句,输出为x=6,可见,正确答案为选项C。

计算机考试