单选题
下面程序段的输出结果为______。
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;
}
}
【正确答案】
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。