java的多态

                多态,也就是多种形态。多态分为两种形式,一种为方法的重载与重写,另一种为对象的多态。

方法的重载与重写:

静态多态,也就是我们所说的方法的重载。方法的重载是指,在同一个类中,允许有多个方法名相同,参数列表不同(类型,个数,顺序)。与访问控制符、返回值、异常无关。

动态多态,即方法的重写。方法重写是指,在继承父类中某个方法不能满足子类的需求时,子类可以重写父类的方法,但是,重写时,方法名、返回值类型、参数列表都必须和父类中该方法一样,子类中的访问控制符不能比父类更严格。如果父类中的该方法使用private修饰,则子类不能访问该方法。

重载与重写的对比

 位置方法名参数列表返回值访问控制符
重载同一类中一样不一样无关无关
重写父类和子类一样一样一样子类不能比父类严格

对象多态分为向上转型和向下转型

向上转型语法:父类  父类对象 = 子类对象

发生向上转型,调用方法时,如果子类重写了该方法,则调用的是子类重写后的方法。若没有重写,则用自己的。

向下转型语法:子类  子类对象 = (子类)父类对象

子类是一个特殊的父类,因此java中允许讲一个子类的对象直接赋给一个父类对象,可以自动完成向上转型,编译时是父类,运行时则是子类的特征,java中也可以向下转型,但是向下转型必须完成一次向上转型。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值