我的漫漫程序之旅

          專注于JavaWeb開發(fā)
          隨筆 - 39, 文章 - 310, 評(píng)論 - 411, 引用 - 0
          數(shù)據(jù)加載中……

          JAVA筆試題(金山軟件)

          1.
          選出用法錯(cuò)誤的:
          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.
          此程序會(huì)輸出什么?
          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
          看看執(zhí)行順序就明白了.
          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是沒(méi)有機(jī)會(huì)
          被調(diào)用的.


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

          評(píng)論

          # re: JAVA筆試題(金山軟件)[未登錄](méi)  回復(fù)  更多評(píng)論   

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

          # re: JAVA筆試題(金山軟件)[未登錄](méi)  回復(fù)  更多評(píng)論   

          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();
          }
          }




          執(zhí)行結(jié)果:
          constructA
          bb is 0
          B - a1
          constructB
          bb = 1000
          2008-01-04 15:08 | 古風(fēng)

          # re: JAVA筆試題(金山軟件)  回復(fù)  更多評(píng)論   

          你說(shuō)的我當(dāng)然知道,自己用調(diào)試器監(jiān)視試試吧.
          看看誰(shuí)的錯(cuò)了.
          剛開始是先調(diào)用 B()的,只不過(guò)沒(méi)進(jìn)入方法體而已,自己再試試吧.
          2008-01-04 16:45 | 々上善若水々

          # re: JAVA筆試題(金山軟件)  回復(fù)  更多評(píng)論   

          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
          程序都不能編譯,怎么可能輸出結(jié)果! 假設(shè)可以編譯,aa對(duì)象的成員變量a是private的只有在A的內(nèi)部才可以訪問(wèn),雖然B是A的子類,還是不能訪問(wèn)private屬性,所以答案是B
          2008-12-12 10:37 | 路過(guò)

          # re: JAVA筆試題(金山軟件)  回復(fù)  更多評(píng)論   

          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
          樓主的是錯(cuò)誤的答案,答案應(yīng)該為B,D,C不正確的原因樓上已經(jīng)解答,B正確是因?yàn)槎际悄J(rèn)初始化為0,而D正確時(shí)因?yàn)樗_實(shí)返回了值,不管它的方法簽名是否正確,但是編碼后可以正確賦值。
          2010-05-24 09:03 | 康博

          # re: JAVA筆試題(金山軟件)  回復(fù)  更多評(píng)論   

          我真的無(wú)語(yǔ)了,b明明不是定義為static,為什么會(huì)有人選B呢,C錯(cuò)的更離譜,只有一個(gè)答案正確就是小DD。那個(gè)void應(yīng)該是筆誤。
          2010-10-26 10:00 | someone

          # re: JAVA筆試題(金山軟件)  回復(fù)  更多評(píng)論   

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

          # re: JAVA筆試題(金山軟件)  回復(fù)  更多評(píng)論   

          第二題選D
          2013-09-12 12:24 | hebwlt
          主站蜘蛛池模板: 外汇| 绍兴市| 吴旗县| 盱眙县| 曲阳县| 财经| 天柱县| 辉县市| 英超| 金湖县| 永寿县| 巴林左旗| 葵青区| 田东县| 承德市| 从化市| 通江县| 永宁县| 容城县| 定兴县| 康保县| 濉溪县| 章丘市| 年辖:市辖区| 思南县| 防城港市| 遵义市| 桂东县| 东乡县| 兴国县| 太湖县| 历史| 巩留县| 湄潭县| 当涂县| 延长县| 龙口市| 扶风县| 呼玛县| 射洪县| 尼勒克县|