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 中访问数据库的步骤?Statement 和PreparedStatement 之间的区别?
Jun 05 面试题
JDK安装目录下有哪些内容
Aug 25 面试题
第一范式(1NF)、第二范式(2NF)和第三范式(3NF)之间的区别是什么?
Apr 28 面试题
.net面试题
Sep 17 面试题
北京泡泡网网络有限公司.net面试题
Jul 17 面试题
别名指示符是什么
Oct 08 面试题
什么是makefile? 如何编写makefile?
Jan 02 面试题
Linux机考试题
Jul 17 面试题
几个Linux面试题笔试题
Dec 01 面试题
什么时候用assert
May 08 面试题
介绍下static、final、abstract区别
Jan 30 面试题
UNIX文件名称有什么规定
Mar 25 面试题
什么是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字符串的比较函数strcmp()与strcasecmp()的使用详解
2013/05/15 PHP
PHP使用PDO连接ACCESS数据库
2015/03/05 PHP
让你的PHP,APACHE,NGINX支持大文件上传
2021/03/09 PHP
最短的javascript:地址栏载入脚本代码
2011/10/13 Javascript
用js+iframe形成页面的一种遮罩效果的具体实现
2013/12/31 Javascript
简述JavaScript的正则表达式中test()方法的使用
2015/06/16 Javascript
AngularJS实现按钮提示与点击变色效果
2016/09/07 Javascript
jQuery实现复制到粘贴板功能
2017/02/11 Javascript
详解如何在angular2中获取节点
2017/11/23 Javascript
Angular5中状态管理的实现
2018/09/03 Javascript
Vue.js实现备忘录功能
2019/06/26 Javascript
Vue登录主页动态背景短视频制作
2019/09/21 Javascript
[01:35:13]DOTA2-DPC中国联赛 正赛 DLG vs PHOENIX BO3 第一场 1月18日
2021/03/11 DOTA
寻找网站后台地址的python脚本
2014/09/01 Python
Python 实现在文件中的每一行添加一个逗号
2018/04/29 Python
python实现根据文件关键字进行切分为多个文件的示例
2018/12/10 Python
python实现学员管理系统
2019/02/26 Python
Django ImageFiled上传照片并显示的方法
2019/07/28 Python
python+openCV调用摄像头拍摄和处理图片的实现
2019/08/06 Python
Python响应对象text属性乱码解决方案
2020/03/31 Python
QML用PathView实现轮播图
2020/06/03 Python
基于python实现音乐播放器代码实例
2020/07/01 Python
[原创]赚疯了!转手立赚800+?大佬的python「抢茅台脚本」使用教程
2021/01/12 Python
css3中transition属性详解
2014/09/02 HTML / CSS
Wiggle澳大利亚:自行车、跑步、游泳商店
2020/11/07 全球购物
电气工程及自动化专业自荐书范文
2013/12/18 职场文书
运动会跳远广播稿
2014/02/04 职场文书
在职党员进社区活动总结
2014/07/05 职场文书
小学师德师风演讲稿
2014/09/02 职场文书
党的群众路线教育实践活动查摆剖析材料
2014/10/10 职场文书
初二学生评语大全
2014/12/26 职场文书
餐厅收银员岗位职责
2015/04/07 职场文书
合作协议书格式范本
2016/03/21 职场文书
2019通用版导游词范本!
2019/08/07 职场文书
python3美化表格数据输出结果的实现代码
2021/04/14 Python
深入浅出的讲解:信号调制到底是如何实现的
2022/02/18 无线电