当前位置:IT认证>软件水平

问题:[问答题]

[问答题] 下列程序的功能是为变量赋值,程序运行后,输出i=51。请改动main方法中的错误,使程序能够正确编译、运行并输出正确的结果。 注意:不改动程序结构。 class A private int a; public void setA (int x) a=x; public int getA() return a; public class MethodTest public static void main(String args[]) A a=A();a.

  

参考答案:

改正后的main方法如下:
publicstaticvoidmain(Stringargs[])
{
Aa=newA();
a.getA(51);
inti=a.getA();
System.out.println("i="+i);
}

  参考解析

[讲解]本题综合考查类及类成员的定义与使用方面的知识。该程序中定义了两个类:A和MethodTest,类A中封装了一个私有的成员变量a和两个公有的方法setA和getA。在类MethodTest中包含了main方法。创建对象应使用new操作符来实例化对象,程序在创建对象a时未使用new,故存在错误。由于a是对象a的私有变量,在main方法中不能直接访问,只能通过对象a的公有方法setA和getA来访问。公有方法setA的功能是将传递回来的参数值赋给a,所以应当调用setA方法来为变量a赋值。

微信端