多态是同一个行为具有多个不同表现形式或形态的能力。多态就是同一个接口,使用不同的实例而执行不同操作。

多态性是对象多种表现形式的体现,比如:

在现实中,我们按下F1键这个动作:

如果当前在Flash界面下弹出的就是AS 3的帮助文档

如果当前在Word下弹出的就是Word帮助

在Windows下弹出的就是Windows帮助和支持

多态存在的三个必要条件

继承

重写

父类引用指向子类对象

Parent p = new Child();

当使用多态方式调用方法时,首先检查父类中是否有该方法,如果没有,则编译错误;如果有,再去调用子类的同名方法。

例题

package Wangyi;

class Base

{

public void method()

{

System.out.println("Base");

}

}

class Son extends Base

{

public void method()

{

System.out.println("Son");

}

public void methodB()

{

System.out.println("SonB");

}

}

public class Test01

{

public static void main(String[] args)

{

Base base = new Son();

base.method();

base.methodB();

}

}

问这个程序的输出结果。(D)

A. Base SonB

B. Son SonB

C. Base Son SonB

D.编译不通过

解释:

Base base=new Son(); 是多态的表示形式。父类对象调用了子类创建了Son对象。

base调用的method()方法就是调用了子类重写的method()方法。

而此时base还是属于Base对象,base调用methodB()时Base对象里没有这个方法,所以编译不通过。

要想调用的话需要先通过SON son=(SON)base;强制转换,然后用son.methodB()调用。

总结

以上就是本文关于java 多态实例代码的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!

java的多态代码例子_java 多态实例代码相关推荐

  1. java的多态代码例子_java多态例子,java多态代码实例

    下面要给大家分享的是一个多态经典案例,一起来看看这个java多态简单例子吧./*多态的好处:提高了代码的维护性和扩展性: 弊端:父类不能使用子类的特有功能. 要用子类的特有功能,可以: A:创建子类对 ...

  2. java多态的实现_Java多态的实现机制是什么,写得非常好!

    作者:crane_practice www.cnblogs.com/crane-practice/p/3671074.html 2019-06-13 08:46:00 Java多态的实现机制是父类或接 ...

  3. java 父类引用子类对象_java多态,如何理解父类引用指向子类对象

    java多态,如何理解父类引用指向子类对象 要理解多态性,首先要知道什么是"向上转型". 我定义了一个子类Cat,它继承了Animal类,那么后者就是前者是父类.我可以通过   C ...

  4. java代码讲解_Java基础系列-代码块详解

    注:本文出自博主 Chloneda:个人博客 | 博客园 | Github | Gitee | 知乎 前言 Java基础系列,尽量采用通俗易懂.循序渐进的方式,让大家真正理解Java基础知识! 代码块 ...

  5. java读写锁死锁例子_Java并发关于重入锁与读写锁的详解

    这篇文章主要介绍了Java并发编程之重入锁与读写锁,文中相关实例代码详细,测试可用,具有一定参考价值,需要的朋友可以了解下. 重入锁 重入锁,顾名思义,就是支持重进入的锁,它表示该锁能够支持一个线程对 ...

  6. java对象克隆的例子_Java对象克隆

    本篇文章帮大家学习java对象克隆,包含了Java对象克隆使用方法.操作技巧.实例演示和注意事项,有一定的学习价值,大家可以用来参考. Java不提供克隆(复制)对象的自动机制.克隆对象意味着逐位复制 ...

  7. java开闭原则 例子_Java设计原则—开闭原则(转)

    开闭原则(Open Closed Principle)是Java世界里最基础的设计原则,它指导我们如何建立一个稳定的.灵活的系统. 定义: 一个软件实体如类.模块和函数应该对扩展开放,对修改关闭. S ...

  8. java代码抛出异常_Java中编写代码出现异常,如何抛出异常,如何捕获异常

    异常的产生过程解析 先运行下面的程序,程序会产生一个数组索引越界异常ArrayIndexOfBoundsException.我们通过图解来解析下异常产生的过程. 工具类 classArrayTools ...

  9. php文件缓存代码,php文件缓存实例代码

    php教程文件缓存实例代码 缓存在实际使用当中应用很广泛,可以减轻对服务器数据库教程的访问,提高运行速度.目前很多cms内容管理系统中频繁使用缓存机制来提高系统运行的效率 cache.php 代码如下 ...

最新文章

  1. 元旦去哪玩?用Python告诉你哪些景点爆满!
  2. pycharm一键调整代码格式(快捷键)
  3. Django框架进阶
  4. Qualcomm thermal的介绍
  5. Gdiplus byte *数据转换为Bitmap类型图片
  6. C#.NET Thread多线程并发编程学习与常见面试题解析-1、Thread使用与控制基础
  7. js整体缩小网页_妙用JavaScript实现网页的任意缩放
  8. 团队第五次 # scrum meeting
  9. 事业单位非编制值得去吗?
  10. Android TV 开发 (1)
  11. webpack入门+路由配置
  12. JME3中级手册--最佳实践1
  13. Python数据处理041:数据分析之时间序列
  14. 基于同源策略对CORS和JSONP的初步认识
  15. Android-系统服务-ClipboardManager
  16. 妈妈的味道,从一碗北极虾荠…
  17. 大数据随记 —— Hadoop 环境搭建
  18. 显卡驱动装失败问题解决
  19. 【TouchDesigner】生成艺术
  20. linux 操作系统 哪个好用,一款非常好看好用的国产Linux操作系统发行版

热门文章

  1. HDU 1085 Holding Bin-Laden Captive!
  2. 领域驱动设计之单元测试最佳实践(二)
  3. html5(八) IndexedDB
  4. 一步步学习SPD2010--第四章节--创建和修改网页(9)--附上母版页
  5. 如何调节电脑显示屏来保护双眼的小技巧
  6. selenium+python,解决selenium弹出新页面,无法定位元素的问题(报错:Unable to locate element:元素)
  7. 【报告分享】2020年创新报告-埃森哲.pdf(附下载链接)
  8. 【报告分享】2019全球住宅报告.pdf(附下载链接)
  9. 王道机试指南读后总结-1
  10. eclipse maven打包_自动化管理项目,Maven仓库配置、安装和使用