qileilove

          blog已經轉移至github,大家請訪問 http://qaseven.github.io/

          Java多態初體驗

          Java多態初體驗

          Java多態初體驗本文面向Java初學者,我們在教材上經常會看到Java是多態的,可是一般的教科書只停留在理論上,很少有實際操作。現在把多態個概念用代碼簡單描述一下,由于本人水平有限,所以難免有不足之處。 
              首先我們有這樣幾個類,電腦,個人電腦,筆記本電腦。

          java 代碼
          class Computer{    
                  
              public void turnOn(){    
              }    
          }   
          現在有了電腦這個類,那么個人PC,筆記本都是繼承他。

          java 代碼
          class PC extends Computer{    
              public void turnOn(){    
                  System.out.println("PC has turn on");    
              }    
          }    
             
          class NB extends Computer{    
              public void turnOn(){    
                  System.out.println("NB has turn on");    
              }    
          }   
          我們看到,每個類都有一個 turnOn()方法,而在父類中這個方法是空的,子類中各自有不同的實現,到這里可能還不太明顯。如果有另外一個方法,要接受這些類作為參數,就像這樣

          java 代碼
          class Test{    
              public void go(Computer computer){    
                   computer.turnOn();    
              }    
          }   
          這個方法接收的是基類參數,當然我們是可以把子類傳遞給方法的,也應該這么做。

          java 代碼
          go(new PC());    
          go(new NB());   
          這樣他就會去調用具體子類的turnOn()方法,所以這兩次調用的輸出是不一樣的.如果不用基類作為參數,我們想調用每個子類的turnOn()方法,那么就要些兩個方法體一樣的go()而接收不同的參數的重載。

          java 代碼
          public void go(PC computer){       
                   computer.turnOn();       
              }      
             
          public void go(NB computer){       
                   computer.turnOn();       
              }     
          這樣些也是正確的,但是這樣會產生很多重復代碼,而且也不易維護,當然這只是多態中最基本的一個部分,Java多態機制還有很多特性,關于這些建議大家看看 java編程思想(think in java)這本書,里面講的很詳細,這里只是很簡單的描述了一下,還望個各位高手不要見笑。

          posted on 2011-09-21 00:12 順其自然EVO 閱讀(210) 評論(0)  編輯  收藏

          <2011年9月>
          28293031123
          45678910
          11121314151617
          18192021222324
          2526272829301
          2345678

          導航

          統計

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 襄樊市| 临武县| 长丰县| 抚远县| 柞水县| 龙岩市| 富宁县| 如皋市| 含山县| 平潭县| 绍兴市| 大理市| 华坪县| 包头市| 庆城县| 西乌珠穆沁旗| 隆德县| 遵化市| 榆林市| 巫山县| 分宜县| 牡丹江市| 迁西县| 北碚区| 开封市| 集安市| 剑河县| 巴林左旗| 通海县| 河东区| 青岛市| 镇沅| 四子王旗| 理塘县| 浪卡子县| 太谷县| 海安县| 芜湖县| 福清市| 县级市| 页游|