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方法永遠不能被覆蓋,也無法被外界直接訪問 】