Java多态性的定义以及类型


Posted in 面试题 onSeptember 16, 2014
多态性:顾名思义就是拥有“多种形态”的含义,是指属性或方法在子类中表现为多种形态。它包括两种类型:
静态多态性:包括变量的隐藏、方法的重载(指同一个类中,方法名相同[方便记忆],但是方法的参数类型、个数、次序不同,本质上是多个不同的方法);
动态多态性:是指子类在继承父类(或实现接口)时重写了父类(或接口)的方法,程序中用父类(或接口)引用去指向子类的具体实例,从代码形式上看是父类(或接口)引用去调用父类(接口)的方法,但是在实际运行时,JVM能够根据父类(或接口)引用所指的具体子类,去调用对应子类的方法,从而表现为不同子类对象有多种不同的形态。不过,程序代码在编译时还不能确定调用的哪一个类的方法,只有在运行时才能确定,故又称为运行时的多态性。(Java中的方法默认都是虚拟的,不用加virtual关键字,而C++却不是)
例如:
class Animal {
public void roar(){
System.out.println(“动物:…”);
}
}
class Cat extends Animal {
public void roar(){
System.out.println(“猫:喵,喵,喵,…”);
}
}
class Dog extends Animal {
public void roar(){
System.out.println(“狗:汪,汪,汪,…”);
}
}
public class AnimalTest {
public static void main(String args[]){
Animal am=new Animal();
am.roar();
am=new Dog();
am.roar();
am=new Cat();
am.roar();
}
}

Tags in this post...

面试题 相关文章推荐
Java TransactionAPI (JTA) 主要包含几部分
Dec 07 面试题
关于Java String的一道面试题
Sep 29 面试题
请编写一个 C 函数,该函数在给定的内存区域搜索给定的字符,并返回该字符所在位置索引值
Sep 15 面试题
SQL面试题
Dec 09 面试题
触发器(trigger)的功能都有哪些?写出一个触发器的例子
Sep 17 面试题
一套.net面试题及答案
Nov 02 面试题
请解释virtual关键字的含义
Jun 17 面试题
Linux Interview Questions For software testers
May 17 面试题
Linux如何为某个操作添加别名
Feb 05 面试题
final, finally, finalize的区别
Mar 01 面试题
一个J2EE项目团队的主要人员组成是什么
Jun 04 面试题
给定一个时间点,希望得到其他时间点
Nov 07 面试题
什么是serialVersionUID
Mar 04 #面试题
super关键字的用法
Apr 10 #面试题
怎样声明子类
Jul 02 #面试题
Java里面如何把一个Array数组转换成Collection, List
Jul 26 #面试题
Java里面有没有全局变量?为什么?
Feb 06 #面试题
static关键字的用法
Oct 07 #面试题
Java TransactionAPI (JTA) 主要包含几部分
Dec 07 #面试题
You might like
php+xml编程之SimpleXML的应用实例
2015/01/24 PHP
PHP+shell实现多线程的方法
2015/07/01 PHP
php 函数使用可变数量的参数方法
2017/05/02 PHP
解决Yii2邮件发送结果返回成功,但接收不到邮件的问题
2017/05/23 PHP
ThinkPHP5+Layui实现图片上传加预览功能
2018/08/17 PHP
基于PHP实现微信小程序客服消息功能
2019/08/12 PHP
js 鼠标拖动对象 可让任何div实现拖动效果
2009/11/09 Javascript
jQuery(非HTML5)可编辑表格实现代码
2012/12/11 Javascript
input输入框的自动匹配(原生代码)
2013/03/19 Javascript
模拟jQuery中的ready方法及实现按需加载css,js实例代码
2013/09/27 Javascript
jquery导航制件jquery鼠标经过变色效果示例
2013/12/05 Javascript
类似天猫商品详情随浏览器移动的示例代码
2014/02/27 Javascript
node.js中的console.time方法使用说明
2014/12/09 Javascript
60行js代码实现俄罗斯方块
2015/03/31 Javascript
js实现百度登录框鼠标拖拽效果
2017/03/07 Javascript
Angularjs使用指令做表单校验的方法
2017/03/31 Javascript
Ext JS 实现建议词模糊动态搜索功能
2017/05/13 Javascript
在React 组件中使用Echarts的示例代码
2017/11/08 Javascript
简单谈谈CommonsChunkPlugin抽取公共模块
2017/12/31 Javascript
IE8中jQuery.load()加载页面不显示的原因
2018/11/15 jQuery
JS块级作用域和私有变量实例分析
2019/05/11 Javascript
微信小程序+云开发实现欢迎登录注册
2019/05/24 Javascript
js实现打字小游戏
2019/12/17 Javascript
ElementUI中el-tree节点的操作的实现
2020/02/27 Javascript
javascript实现文字跑马灯效果
2020/06/18 Javascript
[01:03:27]NAVI vs EG 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/17 DOTA
python读取与写入csv格式文件的示例代码
2017/12/16 Python
Python数据处理numpy.median的实例讲解
2018/04/02 Python
python中报错"json.decoder.JSONDecodeError: Expecting value:"的解决
2019/04/29 Python
python3.6+selenium实现操作Frame中的页面元素
2019/07/16 Python
Boden美国官网:英伦原创时装品牌
2017/07/03 全球购物
竞选大队长演讲稿
2014/04/29 职场文书
医生爱岗敬业演讲稿
2014/08/26 职场文书
纺织工程专业推荐信
2014/09/08 职场文书
防灾减灾标语
2014/10/07 职场文书
高一军训口号
2015/12/25 职场文书