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

面试题 相关文章推荐
如何减少垃圾回收让内存更加有效使用
Oct 18 面试题
说出ArrayList,Vector, LinkedList的存储性能和特性
Jan 04 面试题
Java TransactionAPI (JTA) 主要包含几部分
Dec 07 面试题
C#笔试题集合
Jun 21 面试题
Solaris操作系统的线程机制
Dec 23 面试题
东方红海科技面试题软件测试方面
Feb 08 面试题
亿企通软件测试面试题
Apr 10 面试题
什么是测试驱动开发(TDD)
Feb 15 面试题
几个MySql的面试题
Apr 22 面试题
int和Integer有什么区别
May 25 面试题
什么是抽象
Dec 13 面试题
Servlet方面面试题
Sep 28 面试题
什么是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
php4的session功能评述(三)
2006/10/09 PHP
php中类和对象:静态属性、静态方法
2017/04/09 PHP
PHP设计模式之单例模式定义与用法分析
2019/03/26 PHP
js getBoundingClientRect() 来获取页面元素的位置
2010/11/25 Javascript
兼容IE和FF的图片上传前预览js代码
2013/05/28 Javascript
javascript中创建对象的几种方法总结
2013/11/01 Javascript
jquery获取tr并更改tr内容示例代码
2014/02/13 Javascript
JavaScript基础教程之alert弹出提示框实例
2014/10/16 Javascript
JavaScript中的null和undefined区别介绍
2015/01/01 Javascript
js实现可兼容IE、FF、Chrome、Opera及Safari的音乐播放器
2015/02/11 Javascript
推荐10 个很棒的 jQuery 特效代码
2015/10/04 Javascript
详解JavaScript的回调函数
2015/11/20 Javascript
Jquery ui datepicker设置日期范围,如只能隔3天【实现代码】
2016/05/04 Javascript
Jquery Easyui进度条组件Progress使用详解(8)
2020/03/26 Javascript
Vue中$refs的用法详解
2018/06/24 Javascript
浅析JS中什么是自定义react数据验证组件
2018/10/19 Javascript
Vue 3.x+axios跨域方案的踩坑指南
2019/07/04 Javascript
Nodejs 识别图片类型的方法
2019/08/15 NodeJs
JS实现盒子拖拽效果
2020/02/06 Javascript
vue Treeselect 树形下拉框:获取选中节点的ids和lables操作
2020/08/15 Javascript
vue3.0 的 Composition API 的使用示例
2020/10/26 Javascript
[42:20]Secret vs Liquid 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/17 DOTA
使用Python3制作TCP端口扫描器
2017/04/17 Python
Python使用SQLite和Excel操作进行数据分析
2018/01/20 Python
Python中list循环遍历删除数据的正确方法
2019/09/02 Python
Python urlencode和unquote函数使用实例解析
2020/03/31 Python
Python rabbitMQ如何实现生产消费者模式
2020/08/24 Python
size?丹麦官网:英国伦敦的球鞋精品店
2019/04/15 全球购物
促销活动总结模板
2014/07/01 职场文书
机关党员进社区活动总结
2014/07/05 职场文书
入团介绍人意见范文
2015/06/04 职场文书
贫民窟的百万富翁观后感
2015/06/09 职场文书
退休教师追悼词
2015/06/23 职场文书
信息技术远程培训心得体会
2016/01/09 职场文书
2016年国庆节假期旅游工作总结
2016/04/01 职场文书
python 批量压缩图片的脚本
2021/06/02 Python