Java运行时多态性的实现
| InterA a;
a= new B(); a.fun(); a = new C(); a.fun(); } } |
输出结果为:
This is B
This is C
上例中类B和类C是实现接口InterA的两个类,分别实现了接口的方法fun(),通过将类B和类C的实例赋给接口引用a而实现了方法在运行时的动态绑定,充分利用了“一个接口,多个方法”展示了Java的动态多态性。
需要注意的一点是:Java在利用接口变量调用其实现类的对象的方法时,该方法必须已经在接口中被声明,而且在接口的实现类中该实现方法的类型和参数必须与接口中所定义的精确匹配。
结束语:以上就是java运行时多态性的实现方法,大家在编程过程中可以灵活运用,但是在性能要求较高的代码中不提倡运用运行时多态,毕竟Java的运行时动态方法调用较之普通的方法调用的系统开销是比较大的。
相关文章
javax.validation.constraints如何校验参数合法性
本文将深入探讨javax.validation.constraints的基本用法和高级应用,帮助读者更好地理解和运用这个强大的校验框架,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教2024-07-07
SpringMVC使用@ExceptionHandler注解在Controller中处理异常
这篇文章主要为大家介绍了SpringMVC使用@ExceptionHandler注解在Controller中处理异常示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪2023-10-10
JAVA使用ElasticSearch查询in和not in的实现方式
今天小编就为大家分享一篇关于JAVA使用Elasticsearch查询in和not in的实现方式,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧2018-12-12
Java基于递归和循环两种方式实现未知维度集合的笛卡尔积算法示例
这篇文章主要介绍了Java基于递归和循环两种方式实现未知维度集合的笛卡尔积算法,结合实例形式分析了Java使用递归与循环两种方式实现未知维度集合的笛卡尔积相关概念、原理与操作技巧,需要的朋友可以参考下2017-12-12


最新评论