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...

面试题 相关文章推荐
Yahoo-PHP面试题4
May 05 面试题
C/C++有关内存的思考题
Dec 04 面试题
数据库设计的包括哪两种,请分别进行说明
Jul 15 面试题
介绍一下SQL注入攻击的种类和防范手段
Feb 18 面试题
简单说下OSPF的操作过程
Aug 13 面试题
linux面试题参考答案(8)
Aug 11 面试题
如何进行Linux分区优化
Sep 13 面试题
Linux文件操作命令都有哪些
Feb 27 面试题
Java编程面试题
Apr 04 面试题
JVM是一个编译程序还是解释程序
Sep 11 面试题
当x.equals(y)等于true时,x.hashCode()与y.hashCode()可以不相等,这句话对不对
May 02 面试题
万户网络JAVA程序员岗位招聘笔试试卷
Jan 08 面试题
什么是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数学运算与数据处理实例分析
2016/04/01 PHP
jQuery 表格插件整理
2010/04/27 Javascript
入门基础学习 ExtJS笔记(一)
2010/11/11 Javascript
js编写trim()函数及正则表达式的运用
2013/10/24 Javascript
js时间比较示例分享(日期比较)
2014/03/05 Javascript
JavaScript实现N皇后问题算法谜题解答
2014/12/29 Javascript
JavaScript中Number.NEGATIVE_INFINITY值的使用详解
2015/06/05 Javascript
实例讲解Jquery中隐藏hide、显示show、切换toggle的用法
2016/05/13 Javascript
js实现把图片的绝对路径转为base64字符串、blob对象再上传
2016/12/29 Javascript
BootStrap实现鼠标悬停下拉列表功能
2017/02/17 Javascript
JS时间控制实现动态效果的实例讲解
2017/07/31 Javascript
JavaScript数据结构之优先队列与循环队列实例详解
2017/10/27 Javascript
Javascript实现购物车功能的详细代码
2018/05/08 Javascript
jQuery AJAX 方法success()后台传来的4种数据详解
2018/08/08 jQuery
在webstorm中配置less的方法详解
2020/09/25 Javascript
[02:14]完美“圣”典2016风云人物:xiao8专访
2016/12/01 DOTA
[37:47]IG vs Winstrike 2018国际邀请赛小组赛BO2 第二场 8.19
2018/08/21 DOTA
Python实现打印螺旋矩阵功能的方法
2017/11/21 Python
利用Python如何生成便签图片详解
2018/07/09 Python
python得到qq句柄,并显示在前台的方法
2018/10/14 Python
python算法题 链表反转详解
2019/07/02 Python
如何用Python徒手写线性回归
2021/01/25 Python
ziaja齐叶雅官方海外旗舰店:来自波兰的天然护肤品牌
2017/01/02 全球购物
家用个人磨皮机:Trophy Skin
2017/03/30 全球购物
欧洲第一的摇滚和金属乐队服装网站:EMP
2017/10/26 全球购物
微软新西兰官方网站:Microsoft New Zealand
2018/08/17 全球购物
美国在线奢侈品寄售商店:Luxury Garage Sale
2018/08/19 全球购物
生物技术专业研究生自荐信
2013/09/22 职场文书
大学生全国两会报告感想
2014/03/17 职场文书
不拖欠农民工工资承诺书
2014/03/31 职场文书
骨干教师培训方案
2014/05/06 职场文书
餐厅感恩节活动策划方案
2014/10/11 职场文书
红色影片观后感
2015/06/18 职场文书
详解分布式系统中如何用python实现Paxos
2021/05/18 Python
如何解决springcloud feign 首次调用100%失败的问题
2021/06/23 Java/Android
Python实现日志实时监测的示例详解
2022/04/06 Python