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





















程序運行結果:
Dog bark
Dog bark
打印出2個Dog bark,額,原來對靜態方法的調用不存在任何動態的分派機制。這個沒有注意很容易搞錯的哦~!!~
posted on 2009-04-15 19:15 胡鵬 閱讀(466) 評論(6) 編輯 收藏 所屬分類: java基礎
posted on 2009-04-15 19:15 胡鵬 閱讀(466) 評論(6) 編輯 收藏 所屬分類: java基礎
動態的分派機制
這是什么意思叱?
結果是錯誤的,只能打印一個! 回復 更多評論
@重慶理工小子
如果 在方法中 public static void bark(), 把static都去掉, 那只是打印一個 Dog bark
回復 更多評論
都去掉肯定是一個撒,而且,你把DOG中的bank方法去掉statac,結果應該還只是一個Dog bark;
如果你在DOG中,重新申明bank方法,即增加:System.out.println("XXXX");
這時候結果應該是:dog bark;
XXXX
子類沒覆蓋也沒繼承父類的static方法,因為static方法是無法繼承的! 回復 更多評論
上面的結果只有一行,已經測試過。樓主搞錯了。。。
Dog bark
回復 更多評論
只有注冊用戶登錄后才能發表評論。 | ||
![]() |
||
網站導航:
博客園
IT新聞
Chat2DB
C++博客
博問
管理
|
||
相關文章:
|
||