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开发中如何选择使用哪种集合类
Aug 09 面试题
华为c/c++笔试题
Jan 25 面试题
计算 s=(x*y)1/2,用两个宏定义来实现
Aug 11 面试题
struct和class的区别
Nov 20 面试题
能否解释一下XSS cookie盗窃是什么意思
Jun 02 面试题
linux面试题参考答案(9)
Jan 07 面试题
介绍一下write命令
Sep 24 面试题
亿企通软件测试面试题
Apr 10 面试题
Math.round(11.5)等於多少? Math.round(-11.5)等於多少?
Jan 27 面试题
WebSphere面试题:在WebSphere里面如何部署一个应用
Aug 02 面试题
Java程序员面试90题
Oct 19 面试题
既然说Ruby中一切都是对象,那么Ruby中类也是对象吗
Jan 26 面试题
什么是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 和 MySQL 基础教程(二)
2006/10/09 PHP
理解PHP5中static和const关键字的区别
2007/03/19 PHP
PHP将英文数字转换为阿拉伯数字实例讲解
2019/01/28 PHP
JavaScript面向对象程序设计三 原型模式(上)
2011/12/21 Javascript
基于NodeJS的前后端分离的思考与实践(三)轻量级的接口配置建模框架
2014/09/26 NodeJs
xtemplate node.js 的使用方法实例解析
2016/08/22 Javascript
使用BootStrapValidator完成前端输入验证
2016/09/28 Javascript
原生js实现可拖动的登录框效果
2017/01/21 Javascript
JS+html5制作简单音乐播放器
2020/09/13 Javascript
layer弹窗插件操作方法详解
2017/05/19 Javascript
Vue中定义全局变量与常量的各种方式详解
2017/08/23 Javascript
基于jQuery实现图片推拉门动画效果的两种方法
2017/08/26 jQuery
vue+elementUI实现图片上传功能
2019/08/20 Javascript
Node.js Domain 模块实例详解
2020/03/18 Javascript
[00:50]深扒TI7聊天轮盘语音出处6
2017/05/11 DOTA
[33:33]完美世界DOTA2联赛PWL S2 FTD.C vs SZ 第二场 11.27
2020/11/30 DOTA
Python对小数进行除法运算的正确方法示例
2014/08/25 Python
Python Django使用forms来实现评论功能
2016/08/17 Python
Python3学习笔记之列表方法示例详解
2017/10/06 Python
Python使用selenium实现网页用户名 密码 验证码自动登录功能
2018/05/16 Python
Python实现正则表达式匹配任意的邮箱方法
2018/12/20 Python
django将数组传递给前台模板的方法
2019/08/06 Python
keras 自定义loss model.add_loss的使用详解
2020/06/22 Python
可自定义箭头样式的CSS3气泡提示框
2016/03/16 HTML / CSS
HTML5文档结构标签
2017/04/21 HTML / CSS
美国第一个网上卖鞋零售商:OnlineShoes.com
2017/09/24 全球购物
UNIX文件系统分类
2014/11/11 面试题
自动化专业毕业生求职信
2014/06/18 职场文书
软环境建设心得体会
2014/09/09 职场文书
有限责任公司股东合作协议书
2014/12/02 职场文书
2015年社区工会工作总结
2015/05/26 职场文书
2016年师德学习心得体会
2016/01/12 职场文书
几款流行的HTML5 UI框架比较(小结)
2021/04/08 HTML / CSS
Keras在mnist上的CNN实践,并且自定义loss函数曲线图操作
2021/05/25 Python
Python面向对象之内置函数相关知识总结
2021/06/24 Python
css实现两栏布局,左侧固定宽,右侧自适应的多种方法
2021/08/07 HTML / CSS