java 多态实例代码

 更新时间:2018年01月03日 10:05:27   作者:ttxxly  
这篇文章主要介绍了java 多态实例代码,具有一定借鉴价值,需要的朋友可以参考下

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

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

在现实中,我们按下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实现创建运行时类的对象操作示例

    这篇文章主要介绍了Java实现创建运行时类的对象操作,结合实例形式分析了Java动态创建对象的原理与相关实现技巧,需要的朋友可以参考下
    2018-08-08
  • 浅谈一下JVM垃圾回收算法

    浅谈一下JVM垃圾回收算法

    这篇文章主要介绍了一下JVM垃圾回收算法,Java有着自己一套的内存管理机制,不需要开发者去手动释放内存,开发者只需要写好代码即可,运行过程中产生的垃圾都由JVM回收,需要的朋友可以参考下
    2023-04-04
  • SpringBoot项目引入token设置方式

    SpringBoot项目引入token设置方式

    本文详细介绍了JWT(JSON Web Token)的基本概念、结构、应用场景以及工作原理,通过动手实践,展示了如何在Spring Boot项目中实现JWT的生成、验证和拦截器配置
    2025-01-01
  • Java添加Word文本水印和图片水印

    Java添加Word文本水印和图片水印

    这篇文章主要介绍了Java添加Word文本水印和图片水印,文章图文讲解的很清晰,有对于这方面不懂得同学可以学习下
    2021-02-02
  • Java接口默认方法带来的问题分析【二义性问题】

    Java接口默认方法带来的问题分析【二义性问题】

    这篇文章主要介绍了Java接口默认方法带来的问题,结合实例形式分析了java接口带来的二义性问题,需要的朋友可以参考下
    2019-08-08
  • mybatis-plus阻止全表更新与删除的实现

    mybatis-plus阻止全表更新与删除的实现

    BlockAttackInnerInterceptor 是mybatis-plus的一个内置拦截器,用于防止恶意的全表更新或删除操作,本文主要介绍了mybatis-plus阻止全表更新与删除的实现,感兴趣的可以了解一下
    2023-12-12
  • 基于Java SSM实现在线点餐系统

    基于Java SSM实现在线点餐系统

    本项目基于Java SSM框架实现在线点餐系统,主要实现系统的在线点餐功能。文中的示例代码讲解详细,感兴趣的可以跟随小编一起学习一下
    2022-02-02
  • Jedis零基础入门及操作Redis中的数据结构详解

    Jedis零基础入门及操作Redis中的数据结构详解

    Jedis 的 API 方法跟 Redis 的命令基本上完全一致,熟悉 Redis 的操作命令,自然就很容易使用 Jedis,因此官方也推荐 Java 使用 Jedis 来连接和操作 Redis
    2022-09-09
  • SpringBoot+Vue+Redis实现单点登录(一处登录另一处退出登录)

    SpringBoot+Vue+Redis实现单点登录(一处登录另一处退出登录)

    小编接到一个需求,需要实现用户在浏览器登录后,跳转到其他页面,当用户在其它地方又登录时,前面用户登录的页面退出登录,这篇文章主要介绍了SpringBoot+Vue+Redis实现单点登录,需要的朋友可以参考下
    2019-12-12
  • IDEA如何导入已有Maven项目

    IDEA如何导入已有Maven项目

    导入Maven项目到IDEA时,经常遇到问题,本文记录正确步骤,首先创建空项目,然后选择Import Module from external model并选择Maven,勾选所需profiles和Maven项目,最后设置Project SDK,这样配置后,项目结构将符合预期,仅显示一个Module
    2024-11-11

最新评论