編程之道

          無論是批評(píng)的,贊揚(yáng)的,指著的都請(qǐng)EMAIL給我,你的建議將是我前進(jìn)的動(dòng)力! 聯(lián)系我

          SCJP測(cè)試題

          1。編譯和運(yùn)行下面這段代碼的結(jié)果是什么?

          
            Integer i= new Integer("10");
            if (i.toString() == i.toString())
              System.out.println("Equal");
            else
              System.out.println("Not Equal");
          
          

          選項(xiàng):

          • A. 編譯錯(cuò)誤
          • B. 輸出“Equal”
          • C. 輸出“Not Equal”
          • D. 以上都不是

          正確答案:

          • C

          說明:

          toString() 方法返回等同于這個(gè) String 對(duì)象的 String 。它每次調(diào)用時(shí)創(chuàng)建一個(gè)新的對(duì)象。 == 操作符比較兩個(gè)對(duì)象引用的位模式而不是實(shí)際的 String 內(nèi)容。因此比較返回 false,執(zhí)行 else 語句,輸出“Not Equal”。


          2。在下面代碼中,“insert code here”位置可以合法地插入哪個(gè)選項(xiàng)? 
            class Parent
            {
              public void print(int i)
              {
              }
            }
            public class Child extends Parent
            {
              public static void main(String argv[])
              {
              }
              // insert code here
            }

          選項(xiàng):

          • A. public void print(int i, byte b) throws Exception {}
          • B. public void print(int i, long i) throws Exception {}
          • C. public void print(long i) {}
          • D. public void print(int i) throws Exception {}
          • E. public int print(int i)

          正確答案:

          • A,B 和 C

          說明:

          選項(xiàng) D 不能編譯,因?yàn)樗噲D拋出一個(gè)在 Parent 類中沒有聲明的 checked 異常。選項(xiàng) E 將不能編譯,因?yàn)橹挥蟹祷仡愋筒幌嗤鴧?shù)列表和方法名是相同的。這對(duì)于覆蓋和重載都是不允許的。選項(xiàng) A、B 和 C 有不同的參數(shù)表,所以它們表示 重載 而不是 覆蓋 。因?yàn)樗鼈兛梢話伋鋈魏萎惓#运鼈兪呛戏ǖ摹?


          3。編譯和運(yùn)行以下程序會(huì)有什么結(jié)果? 
            class Test
            {
              public static void main(String args[])
              {
                String s1 = "abc";
                String s2 = "abc";
                s1 += "xyz";
                s2.concat("pqr");
                s1.toUpperCase();
                System.out.println(s1 + s2);
              }
            }

          選項(xiàng):

          • A. "abcxyzabc"
          • B. "abcxyzabcpqr"
          • C. "ABCXYZabcpqr"
          • D. "ABCXYZabc"
          • E. 代碼不能編譯

          正確答案:

          • A

          說明:

          這段代碼可以無錯(cuò)誤地編譯運(yùn)行,輸出“abcxyxabc”。在這段代碼中, s1s2 最初指向同一個(gè) String 對(duì)象“abc”。當(dāng)“xyz”連接到 s1 上時(shí),就創(chuàng)建了一個(gè)新的 String 對(duì)象“abcxyz” ,并且 s1 指向它。注意 s2 仍然指向原來的 String 對(duì)象“abc”,它沒有改變。 concat()toUpperCase() 方法沒有任何效果,因?yàn)樽鳛檫@些操作的結(jié)果創(chuàng)建的新 String 對(duì)象不擁有任何引用。所以最后 s1 包含“abcxyz”而 s2 包含“abc”,從而 A 為正確結(jié)果。


          posted on 2005-12-30 16:49 瘋流成性 閱讀(347) 評(píng)論(0)  編輯  收藏 所屬分類: j2se


          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 松溪县| 平顺县| 康乐县| 阜新| 汉阴县| 永和县| 星座| 广河县| 南丹县| 平阴县| 庆城县| 昆山市| 宣威市| 台北县| 新丰县| 包头市| 含山县| 武宣县| 江口县| 米泉市| 古浪县| 天峻县| 庆城县| 湟源县| 青海省| 泽库县| 长顺县| 东莞市| 四会市| 阜宁县| 迁西县| 蒙自县| 色达县| 金湖县| 峨山| 亚东县| 金乡县| 兴隆县| 京山县| 虎林市| 马尔康县|