編程之道

          無論是批評的,贊揚的,指著的都請EMAIL給我,你的建議將是我前進的動力! 聯系我

          SCJP測試題

          1。編譯和運行下面這段代碼的結果是什么?

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

          選項:

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

          正確答案:

          • C

          說明:

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


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

          選項:

          • 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

          說明:

          選項 D 不能編譯,因為它試圖拋出一個在 Parent 類中沒有聲明的 checked 異常。選項 E 將不能編譯,因為只有返回類型不相同,而參數列表和方法名是相同的。這對于覆蓋和重載都是不允許的。選項 A、B 和 C 有不同的參數表,所以它們表示 重載 而不是 覆蓋 。因為它們可以拋出任何異常,所以它們是合法的。


          3。編譯和運行以下程序會有什么結果? 
            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);
              }
            }

          選項:

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

          正確答案:

          • A

          說明:

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


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


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 阆中市| 安龙县| 公安县| 垫江县| 滨州市| 扶余县| 吴堡县| 礼泉县| 宜春市| 芮城县| 汕尾市| 湖州市| 吴堡县| 南召县| 西昌市| 七台河市| 遵义市| 稻城县| 水富县| 周至县| 深州市| 全南县| 突泉县| 依兰县| 明水县| 翁牛特旗| 玉屏| 阿克陶县| 茂名市| 横峰县| 阿巴嘎旗| 威信县| 怀宁县| 明光市| 玉门市| 沐川县| 嵩明县| 孟连| 芦溪县| 松桃| 乌拉特中旗|