[問答題] 下列程序的功能是為變量賦值,程序運行后,輸出i=51。請改動main方法中的錯誤,使程序能夠正確編譯、運行并輸出正確的結(jié)果。 注意:不改動程序結(jié)構(gòu)
[問答題] 下列程序的功能是為變量賦值,程序運行后,輸出i=51。請改動main方法中的錯誤,使程序能夠正確編譯、運行并輸出正確的結(jié)果。
注意:不改動程序結(jié)構(gòu)。
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方法。創(chuàng)建對象應(yīng)使用new操作符來實例化對象,程序在創(chuàng)建對象a時未使用new,故存在錯誤。由于a是對象a的私有變量,在main方法中不能直接訪問,只能通過對象a的公有方法setA和getA來訪問。公有方法setA的功能是將傳遞回來的參數(shù)值賦給a,所以應(yīng)當(dāng)調(diào)用setA方法來為變量a賦值。
詞條內(nèi)容僅供參考,如果您需要解決具體問題
(尤其在法律、醫(yī)學(xué)等領(lǐng)域),建議您咨詢相關(guān)領(lǐng)域?qū)I(yè)人士。