在繼承中的 靜態(tài)方法調(diào)用注意

             
                在繼承中的 使用靜態(tài)方法的時候該注意。。。。。
             你覺得下面程序很簡單吧,打印出什么呢? 沒看仔細要錯的哦~!~

          class Dog{
              
          public static void bark(){
                  System.out.println(
          "Dog bark");
              }

          }


          class Basenji extends Dog{
              
          public static void bark(){
                  
              }

          }


          public class Test {
              
          public static void main(String []args) throws Exception{
                  Dog dog 
          = new Dog();
                  Dog basenji 
          = new Basenji();
                  dog.bark();
                  basenji.bark();
                  
              }

          }


          程序運行結(jié)果:
          Dog bark
          Dog bark

          打印出2個Dog bark,額,原來對靜態(tài)方法的調(diào)用不存在任何動態(tài)的分派機制。這個沒有注意很容易搞錯的哦~??!~

          posted on 2009-04-15 19:15 胡鵬 閱讀(466) 評論(6)  編輯  收藏 所屬分類: java基礎(chǔ)

          評論

          # re: 在繼承中的 靜態(tài)方法調(diào)用注意 2009-04-16 11:23 重慶理工小子

          動態(tài)的分派機制
          這是什么意思叱?

          結(jié)果是錯誤的,只能打印一個!  回復(fù)  更多評論   

          # re: 在繼承中的 靜態(tài)方法調(diào)用注意 2009-04-16 13:25 胡鵬

          @重慶理工小子
          如果 在方法中 public static void bark(), 把static都去掉, 那只是打印一個 Dog bark
            回復(fù)  更多評論   

          # re: 在繼承中的 靜態(tài)方法調(diào)用注意 2009-04-16 17:15 重慶理工小子

          即使不去掉也只能打印一個哈,思考!  回復(fù)  更多評論   

          # re: 在繼承中的 靜態(tài)方法調(diào)用注意 2009-04-16 17:46 重慶理工小子

          都去掉肯定是一個撒,而且,你把DOG中的bank方法去掉statac,結(jié)果應(yīng)該還只是一個Dog bark;
          如果你在DOG中,重新申明bank方法,即增加:System.out.println("XXXX");
          這時候結(jié)果應(yīng)該是:dog bark;
          XXXX
          子類沒覆蓋也沒繼承父類的static方法,因為static方法是無法繼承的!  回復(fù)  更多評論   

          # re: 在繼承中的 靜態(tài)方法調(diào)用注意 2009-10-19 16:33 管閑事

          上面的結(jié)果只有一行,已經(jīng)測試過。樓主搞錯了。。。
          Dog bark
            回復(fù)  更多評論   

          # re: 在繼承中的 靜態(tài)方法調(diào)用注意[未登錄] 2009-11-03 09:32 胡鵬

          @管閑事
          額,,跑出來是2個的哦。。 不知道您使用的哪個版本jdk?  回復(fù)  更多評論   

          導(dǎo)航

          <2009年11月>
          25262728293031
          1234567
          891011121314
          15161718192021
          22232425262728
          293012345

          統(tǒng)計

          常用鏈接

          留言簿(3)

          隨筆分類

          隨筆檔案

          agile

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 武陟县| 昭苏县| 德惠市| 西昌市| 青州市| 蓬溪县| 渝中区| 崇礼县| 成安县| 澳门| 年辖:市辖区| 舞钢市| 鄢陵县| 安义县| 抚顺市| 岫岩| 南部县| 东海县| 东乡| 宜丰县| 应用必备| 信阳市| 秦皇岛市| 威海市| 民乐县| 调兵山市| 富蕴县| 中宁县| 清河县| 梅河口市| 繁昌县| 鸡东县| 新建县| 福建省| 花垣县| 吉水县| 大安市| 瑞丽市| 治县。| 淮安市| 蒲城县|