JAVA向上转型后的方法调用问题

博客介绍了Java中基类变量接收子类对象引用后的向上转型情况。变量默认可访问基类自身的public和protected方法,子类独有而基类没有的方法不可访问,若子类覆盖基类的public或protected方法,变量访问的是被覆盖后的方法,private方法不能被覆盖且不可直接访问。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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方法永远不能被覆盖,也无法被外界直接访问 】

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值