下列程序的功能是为变量赋值,程序运行后,输出i=51。请改动main方法中的错误,使程序能够正确编译、运行并输出正确的结果。 注意:不改动程序结构。 class A { private int a;

admin2009-12-22  41

问题 下列程序的功能是为变量赋值,程序运行后,输出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.getA(51);
              int i=a.getA();
              System.out.println ("i="+i);
          }
   }

选项

答案改正后的main方法如下: public static void main(String args[]) { A a=new A(); a.getA(51); int i=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赋值。
转载请注明原文地址:https://jikaoti.com/ti/3Qb0FFFM
0

最新回复(0)