JAVA向上轉型後的方法調用問題

Base b = new Sub ( ) ;
JAVA基類變量接收子類對象的引用後,會向上轉型:

此時:

1、變量 b 默認可以訪問的方法依然是 基類中自身獨有的 public和 protected 方法 ,private 方法不可被外界直接訪問,這點始終不變
【 相當於Base b = new Base() 】

2、Sub 自身獨有而 Base中沒有的方法(無論是public,protected還是private ) ,變量 b 都不可以訪問

3、但如果 Sub有覆蓋Base中的 public或protected方法,那此時變量 b 訪問的將是被 Sub 覆蓋的public和protected方法
【 private方法永遠不能被覆蓋,也無法被外界直接訪問 】

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章