Java 多态基础

Java 多态基础,第1张

Java 多态基础 一、多态概述

多态是同一个行为具有多个不同表现形式或形态的能力,就是同一个接口使用不同的实例而执行不同的 *** 作,是对象多种表现形式的体现。比如我们按下F1这个动作,如果在Flash界面下d出的就是AS 3的帮助文档;在Word下d出就是Word的帮助文档;在Windows下d出就是Windows的帮助和支持。同一件事情在不同的对象上会产生不同的结果。

二、多态的优点

1. 消除类型之间的耦合关系

2. 可替换性:多态对已存在代码具有可替换性。例如,多态对圆Circle类工作,对其他任何圆形几何体,如圆环,也同样工作。

3. 可扩充性多态对代码具有可扩充性:增加新的子类不影响已存在类的多态性、继承性,以及其他特性的运行和 *** 作。实际上新加子类更容易获得多态功能。例如,在实现了圆锥、半圆锥以及半球体的多态基础上,很容易增添球体类的多态性。

4. 接口性:多态是超类通过方法签名,向子类提供了一个共同接口,由子类来完善或者覆盖它而实现的。

5. 灵活性:它在应用中体现了灵活多样的 *** 作,提高了使用效率。

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

三、多态存在的三个必要条件
  1. 继承
  2. 重写
  3. 父类引用指向子类对象:Parent p = new Child();

当使用多态方式调用方法时,首先检查父类中是否有该方法,如果没有,则编译错误;如果有,再去调用子类的同名方法。多态的好处:可以使程序有良好的扩展,并可以对所有类的对象进行通用处理。

实例:

 

 

 

运行结果:

四、多态的向上转型和向下转型 (1)向上转型:

格式: 父类名称 对象名 = new  子类名称();

含义:右侧创建了一个子类对象,把它当作父类来看待使用。小范围的对象向上转换为更大范围的对象,如:

Animal animal=new Cat();//猫->动物

(2)向下转型:

 格式: 子类名称 对象名 =(子类名称) 父类对象;

 含义:将子类还原,还原成为本来的子类对象

Cat cat =(Cat) animal;//本来是猫,向上转型成为动物,还原回来成为本来的猫

五、.instanceof关键字

返回类型为布尔类型

案例:

 

 

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5687100.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存