问题
单项选择题
执行下面程序段,屏幕上将输出( )。 public class Test {private int x=10,y=20;public Test (int x,int y) { System.out.println (x+this.x); System.out.println (y+y); }public static void main (String[] args) { Testt= new Test(30,50); } }
A.无输出
B.20 40
C.40 100
D.40 70
答案
参考答案:C
解析: 通过new生成一个类的实例时,自动调用该类的构造方法,本题中的构造方法中有两个输出语句,因此A不正确。其余三个答案主要是考查局部变量和成员变量的区别。在方法中如要用成员变量,为区别于局部变量,必须用this关键字。第一个输出语句中的x为参数,是局部变量,其值为30,this.x引用的是成员变量,其值为10,因此第一个语句输出的值为40;第二个输出语句中的y都是局部变量,每一个y的值是接收到的参数值50,因此输出为100。