多态

概念?
同一个方法名称,执行不同的操作,方法的重载就是多态中的一种形式。
方法重写:当子类从父类中继承来的方法不能满足时需要时,子类可以重写该方法,重写方法要求方法名与参数列表一致,因此如果子类中的方法与父类中的方法名同名,并且参数类型也相同,那么子类中的方法就重写了父类中的同名方法。
为什么不直接定义另一个方法?因为重写方法可以实现运行时的多态效果。注意:重写只针对方法,属性没有重写概念。
方法重写的规则:两同原则:方法名相同,参数列表相同,两小:返回值类型更小(或相等),抛出的异常类更小(或相等),一大:访问权限更大(或相等)
方法重写和方法重载的区别:只有当两个方法名和类型签名相同时才会发生重写。如果不是都相同,那么这两个方法就是简单的重载关系。
多态是继封装、继承之后,面向对象的第三大特性。

现实事物经常会体现出多种形态,如学生,学生是人的一种,则一个具体的同学张三既是学生也是人,即出现两种形态。

Java作为面向对象的语言,同样可以描述一个事物的多种形态。如Student类继承了Person类,一个Student的对象便既是Student,又是Person。

Java中多态的代码体现在一个子类对象(实现类对象)既可以给这个子类(实现类对象)引用变量赋值,又可以给这个子类(实现类对象)的父类(接口)变量赋值。

如Student类可以为Person类的子类。那么一个Student对象既可以赋值给一个Student类型的引用,也可以赋值给一个Person类型的引用。

最终多态体现为父类引用变量可以指向子类对象。

多态的前提是必须有子父类关系或者类实现接口关系,否则无法完成多态。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值