2021-05-29

本文深入探讨了Java中的多态性概念,包括方法重写和类型转换。向上转型允许父类引用指向子类对象,而向下转型则需要强制类型转换并配合instanceof运算符确保安全。多态提供了代码的可替换性、可扩充性和灵活性,常见于使用父类作为方法参数和返回值的情况。
摘要由CSDN通过智能技术生成

1.认识多态

多态一词的通常含义是指定能够呈现出多种不同的不同的形式或形态。而在程序设计的术语中,它意味着一个特定类型的变量可以引用不同类型的对象,而且能自动的调用引用的对象的方法,也就是根据作用到不同对象类型,响应不同的操作。方法重写是现实多态的基础。

多态意味着在一次方法调用中根据包含的对象的实际类型来决定该调用哪个方法,而不是由用来存储对象引用的变量类型决定的。当调用一个方法时,为了实现多态的操作,这个方法既是在父类中声明的,也必须是在子类中重写过的方法。

 

2.向上转型

格式如下:

<父类型><引用变量名>=new<子类>();

1.将一个父类的引用指向一个子类对象称为向上转型,系统会自动进行类型转换

2.此时通过父亲引用变量调用的方法是子类覆盖或者继承了父类的方法,不是父类的方法

3.此时通过父类引用变量无法调用子类特有的方法

 

 

3..向下转型

将一个指向子类对象的父类引用赋给一个子类的引用,即将父类类型转换为子类类型,称为向下转型,此时必须进行强制类型转换。

 

4.instanceof运算符

在向下转型的过程中,如果不是转换成真实子类类型,会出现类型转换异常,在java中提供instanceof运算符来判断。使用instanceof时,对象类型必须和instanceof后面的参数所指定的类有继承关系,否则会出现编译错误。

 

多态的应用

1.可替换性:多态对已存在的代码具有可替换性

2.可扩充性:多态对代码具有可扩充性。增加新的子类不会影响已经存在类的多态性,继承性。以及其他特性的运行和操作。实际上新加子类更容易获得多态功能。

3.接口性:多态是父类向子类提供了一个共同接口,由子类来具体实现

4.灵活性:多态在应用中体现了灵活多样的操作,提高了使用效率

5.转换性:多态简化了应用软件的代码编写和修改过程,尤其在处理大量对象的运算和操作时,这个特点尤为突出和重要。

两种应用形式

1.使用父类作为方法的形象

2.使用父类作为方法的返回值

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值