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方法永远不能被覆盖,也无法被外界直接访问 】
原文地址:http://blog.51cto.com/maplebb/2154351
时间: 2024-11-11 05:14:00