【java】多态,以及它的实现方法“重载”和“重写”(方法的覆盖),向上转型

【多态】:

多态是面向对象的重要部分。在java中通常使用重载和覆盖来实现多态。

【方法的重载】:(没有继承关系也可以重载)

是指在一个类中,出现多个方法名相同,但是参数个数或者参数类型不同的方法。java在执行具有重载关系的方法时,将根据调用参数的个数和类型来区分具体执行的是哪个方法。

重载的方法之间并一定必须有联系。但是为了提高程序的可读性,一般指重载功能相似的方法。

在方法重载时,方法返回值的类型不能作为区分方法重载的标志。

【方法的覆盖】:(也就是方法的重写,必须在继承时才能发生)

当子类继承父类中所有可能被子类访问的成员方法时,如果子类的方法名与父类的方法名相同,那么子类就不能继承父类的

方法,此时,称子类的方法覆盖了父类的方法,覆盖体现了子类补充或者改变父类方法的能力,通过覆盖,可以使一个方法在不同的子类中表现不同的行为。

(注):在进行方法覆盖时,需要注意一下几点:

(1)子类不能覆盖父类中的final或static方法。

(2)子类必须覆盖父类中为abstract方法,或者子类也将方法声明为abstract。

(3)子类覆盖父类中的同名方法时,子类中方法的声明也必须和父类中被覆盖的方法的声明一样。

(4)子类覆盖的方法不能比被覆盖的方法拥有更低的访问权限。

(5)私有方法和构造方法无法被覆盖

【向上转型】:

一个对象可以看作本类类型,也可以看作它的超类类型,取得一个对象的引用并将它看作超类的对象,称为向上转型。

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值