Java 多态

本文讲述了多态如何作用于方法,强调了子类重写父类方法的规则,以及static、final和private方法的特性,指出静态方法不能被子类真正重写,而final和private方法则由于访问权限限制无法被重写。

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

1.多态作用于方法,而不是属性
2.具体指向不同时对方法的调用关系

对于子类对父类重写的方法,无论是父类引用指向子类对象(多态)还是直接创建一个子类对象,都会调用子类中已经重写的方法。

如果子类没有重写父类方法,那么在调用时会使用父类中的方法。注意!多态时s1不能调用子类中独有的方法,因为对象能执行哪些方法主要与左边的类有关。

3.不能重写的方法

static 方法:因为static方法属于类本身而不是实例,因此子类无法提供一个不同的static方法来“替换”或“重写”父类中的static方法。(当你尝试在子类中定义一个与父类static方法签名相同的方法时,你实际上是在子类中隐藏(或阴影,shadowing)了父类的static方法,而不是重写它。这意味着在子类中调用该方法时,将执行子类的static方法,而不是父类的。但这并不等同于重写,因为从多态的角度来看,通过父类引用调用该方法时,仍然会执行父类的static方法。)

final方法

private方法

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值