我的漫漫程序之旅

          專注于JavaWeb開發
          隨筆 - 39, 文章 - 310, 評論 - 411, 引用 - 0
          數據加載中……

          JAVA筆試題(金山軟件)

          1.
          選出用法錯誤的:
          a: Stirng a ="Gone With Wind"
          String t
          = "Wind"
          String m; 
          m
          =a-t; 
          B: Stirng a 
          ="Gone With Wind"
          String m ; 
          m
          =a[3]+"one"
          C: Stirng a 
          ="Gone With Wind"
          Sting m; 
          m
          =a.toUpperCase(); 
          D: 不記得了 

          選AB.

          2.
          選出能正確賦值的:
          public class A 
          private int a; 
          public void change(int m) 
          return m; 
          }
           

          }
           
          public class B extends A
          public int b; 
          public static void main() 
          A aa 
          = new A(); 
          B bb 
          = new B(); 
          int k; 
          //px 
          }
           
          }
           
          在px處可以正確賦值的有: 
          A k
          = m; B k=b; C k=aa.a; D k=bb.change(30); E k=bb.a 


          選C
          3.
          此程序會輸出什么?
          package com;

          class A
          {    

              
          public A()
              
          {
                  a1();
              }


              
          public void a1()
              
          {
                  System.out.println(
          "A-a1");
              }


          }


          public class B extends A
          {
              
          int bb = 0;

              
          public B()
              
          {

                  bb 
          = 1000;
              }


              
          public void a1()
              
          {
                  System.out.println(
          "bb is " + bb);
                  System.out.println(
          "B-a1");
              }


              
          public static void main(String[] args)
              
          {

                  
          new B();
              }


          }


          答案:
          bb is 0
          B-a1
          看看執行順序就明白了.
          package com;

          class A
          {    
              
          //3
              public A()
              
          {
                  a1();
              }


              
          public void a1()
              
          {
                  System.out.println(
          "A-a1");
              }


          }


          public class B extends A
          {
              
          int bb = 0;
              
          //2
              public B()
              
          {
                  
          //5
                  bb = 1000;
              }

              
          //4
              public void a1()
              
          {
                  System.out.println(
          "bb is " + bb);
                  System.out.println(
          "B-a1");
              }


              
          public static void main(String[] args)
              
          {
                  
          //1
                  new B();
              }


          }


          在方法被a1()被重寫的情況下,父類的a1是沒有機會
          被調用的.


          posted on 2007-12-15 10:43 々上善若水々 閱讀(4438) 評論(8)  編輯  收藏 所屬分類: Java筆試與面試

          評論

          # re: JAVA筆試題(金山軟件)[未登錄]  回復  更多評論   

          比較喜歡面試題.
          2007-12-16 11:21 | lovejava

          # re: JAVA筆試題(金山軟件)[未登錄]  回復  更多評論   

          public class A
          {
          public int a;
          public int change(int m)
          {
          return m;
          }
          public A()
          {
          System.out.println("constructA");
          a1();
          }
          public void a1()
          {
          System.out.println("A - a1");
          }

          }







          public class B extends A
          {

          int bb = 0;
          public B()
          {
          System.out.println("constructB");
          bb = 1000;
          System.out.println("bb = " + bb);
          }
          public void a1()
          {
          System.out.println("bb is " + bb);
          System.out.println("B - a1");
          }
          public static void main(String[] args)
          {
          new B();
          }
          }




          執行結果:
          constructA
          bb is 0
          B - a1
          constructB
          bb = 1000
          2008-01-04 15:08 | 古風

          # re: JAVA筆試題(金山軟件)  回復  更多評論   

          你說的我當然知道,自己用調試器監視試試吧.
          看看誰的錯了.
          剛開始是先調用 B()的,只不過沒進入方法體而已,自己再試試吧.
          2008-01-04 16:45 | 々上善若水々

          # re: JAVA筆試題(金山軟件)  回復  更多評論   

          2.
          選出能正確賦值的:
          public class A {
          private int a;
          public void change(int m) { // void method can not return a value!
          return m;
          }

          }
          public class B extends A{
          public int b;
          public static void main() {
          A aa = new A();
          B bb = new B();
          int k;
          //px
          }
          }
          在px處可以正確賦值的有:
          A k= m; B k=b; C k=aa.a; D k=bb.change(30); E k=bb.a
          程序都不能編譯,怎么可能輸出結果! 假設可以編譯,aa對象的成員變量a是private的只有在A的內部才可以訪問,雖然B是A的子類,還是不能訪問private屬性,所以答案是B
          2008-12-12 10:37 | 路過

          # re: JAVA筆試題(金山軟件)  回復  更多評論   

          2.
          選出能正確賦值的:
          public class A {
          private int a;
          public void change(int m) { // void method can not return a value!
          return m;
          }

          }
          public class B extends A{
          public int b;
          public static void main() {
          A aa = new A();
          B bb = new B();
          int k;
          //px
          }
          }
          在px處可以正確賦值的有:
          A k= m; B k=b; C k=aa.a; D k=bb.change(30); E k=bb.a
          樓主的是錯誤的答案,答案應該為B,D,C不正確的原因樓上已經解答,B正確是因為都是默認初始化為0,而D正確時因為它確實返回了值,不管它的方法簽名是否正確,但是編碼后可以正確賦值。
          2010-05-24 09:03 | 康博

          # re: JAVA筆試題(金山軟件)  回復  更多評論   

          我真的無語了,b明明不是定義為static,為什么會有人選B呢,C錯的更離譜,只有一個答案正確就是小DD。那個void應該是筆誤。
          2010-10-26 10:00 | someone

          # re: JAVA筆試題(金山軟件)  回復  更多評論   

          class B 中的b就沒有分配內存空間,怎么能賦值,可以改為new B().b@someone
          2011-10-17 17:17 | 學習

          # re: JAVA筆試題(金山軟件)  回復  更多評論   

          第二題選D
          2013-09-12 12:24 | hebwlt
          主站蜘蛛池模板: 确山县| 惠水县| 台州市| 青岛市| 顺昌县| 基隆市| 靖边县| 建湖县| 新邵县| 河间市| 伊宁县| 淮安市| 江津市| 大英县| 通河县| 林周县| 望江县| 呼图壁县| 平潭县| 会东县| 西盟| 古丈县| 柳江县| 崇左市| 教育| 丹凤县| 会同县| 澄迈县| 扬州市| 永宁县| 柏乡县| 吐鲁番市| 姚安县| 卢龙县| 祁东县| 广丰县| 金门县| 石首市| 高雄县| 泰安市| 石门县|