面向对象的三大特征---------多态

本文详细介绍了Java中的多态性,包括其前提条件、表现形式以及成员访问和方法调用的特点。多态能够提高程序的扩展性,但也存在无法使用子类特有功能的限制。此外,讨论了向上转型和向下转型的操作,并强调了多态在实际编程中的好处和潜在弊端。通过实例解析,帮助开发者更好地理解和运用多态这一核心概念。
摘要由CSDN通过智能技术生成

多态:同一个对象在不同时刻表现出来的形态

多态的前提和体现:

  • 有继承/实现关系    一旦形成继承关系,那么现在实例化子类的时候,可以使用不同的对象类型,接受这个子类对象
    Animal ani = new Cat();  //多态的使用过程
  • 有方法重写:子类中必须重写父类的方法
  • 有父类引用指向子类对象 :实例化父类对象的时候,必须使用父类的类型对象名接受子类的对象实例

多态中成员访问特点:

  • 成员变量:编译看父类,执行看父类
  • 成员方法:编译看父类,执行看子类

执行不一样的原因:成员变量没有重写而成员方法有重写

使用多态调用方法特点:

  • 1.如果调用的是父类中的普通方法(方法没有被重写),直接就能调用
  • 2.如果调用父类中不存在,即子类中的方法没有重写父类的方法,直接就会报错
  • 3.如果调用的方法在子类中重写了,那么直接可以调用

使用多态调用属性的特点: 

  • 只能调用自己的属性,不可以调用子类的属性

 多态的好处和弊端:

  • 好处:提高了程序的扩展性,具体变现:定义方法的时候,使用父类型作为参数,将来在使用的时候,使用具体的子类型参与操作。
  • 弊端:不能使用子类的特有功能

 多态中的转型:

  • 向上转型:父类引用指向子类对象就是向上转型
  • 向下转型:格式:子类型  对象名=(子类型)父类引用;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值