Java中多态的理解

  多态的三大条件:(1)继承(2)重写(3)父类引用指向子类对象

多态的表现:多态就是同一种方法在不同子类中产生不同的结果,具体的操作和表现就是,存在父类A方法howGo() ,子类b重写howGo方法,子类c重写howGo()方法,满足了条件1和条件2即继承和重写(提示 因为是b和c是子类所以必须存在继承父类),剩下第三个条件了,这里必须要理解什么是父类引用指向子类。

   b bobject = new b();  这是创建一个子类b对象bobject    

  c cobject = new c();  这是创建一个子类c对象bobject
 

重点来了

  A Aobject  =  new b(); 这个是创建了一个指向子类的父类引用类型,称为向上转型,一般都是子类调用和继承父类的属性和方法而不能父类调用子类方法和属性,但是把一个父类指向子类后,就可以调用子类的方法和属性了。这里Aobject 的类型是父类A,new b()是创建一个子类b的对象, A Aobject  =  new b(); 就是Aobject引用指向子类b的对象


以上三个条件都满足了,那么多态就体现出来了,子类b生成的对象bobject调用重写后的howGo,那么体现的是b重写该方法后的返回的结果或者值,子类c生成的对象cobject调用c重写该方法后的howGo(),那么体现的是c重写该方法后的返回的结果或者值。这就是多态的表现,同一种方法在不同子类调用的情况下,呈现出不同的结果。就如f5键一样,在网页中按f5是刷新,如果是在PS软件中,f5可能就是放大图片。



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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值