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

面试题 相关文章推荐
PHP如何去执行一个SQL语句
Mar 05 面试题
如何在Cookie里面保存Unicode和国际化字符
May 25 面试题
如何在存储过程中使用Loop
Jan 05 面试题
数据库基础的一些面试题
Feb 25 面试题
STP协议的主要用途是什么?为什么要用STP
Dec 20 面试题
了解AppleShare protocol(AppleShare协议)吗
Aug 28 面试题
JSP和EJB可以共享HttpSession么?EJB里面可以改变session里面的内容
Jun 05 面试题
Python里面如何拷贝一个对象
Feb 17 面试题
int和Integer有什么区别
May 25 面试题
Java语言程序设计测试题选择题部分
Apr 03 面试题
Servlet的生命周期
Aug 25 面试题
DELPHI面试题研发笔试试卷
Nov 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
重置版宣传动画
2020/04/09 魔兽争霸
隐藏你的.php文件的实现方法
2007/03/19 PHP
PHP下编码转换函数mb_convert_encoding与iconv的使用说明
2009/12/16 PHP
php json与xml序列化/反序列化
2013/10/28 PHP
10个php函数实用却不常见
2015/10/13 PHP
PHP页面转UTF-8中文编码乱码的解决办法
2015/10/20 PHP
WordPress中获取页面链接和标题的相关PHP函数用法解析
2015/12/17 PHP
PHP常用设计模式之委托设计模式
2016/02/13 PHP
Laravel中Trait的用法实例详解
2016/03/16 PHP
jQuery实现不断闪烁文字的方法
2015/05/15 Javascript
跟我学习javascript的prototype,getPrototypeOf和__proto__
2015/11/17 Javascript
javascript实现图片轮播效果
2016/01/20 Javascript
jQuery+Ajax实现限制查询间隔的方法
2016/06/07 Javascript
Angularjs 双向绑定时字符串的转换成数字类型的问题
2017/06/12 Javascript
JS判断Android、iOS或浏览器的多种方法(四种方法)
2017/06/29 Javascript
第一个Vue插件从封装到发布
2017/11/22 Javascript
使用Vue完成一个简单的todolist的方法
2017/12/01 Javascript
深入理解js A*寻路算法原理与具体实现过程
2018/12/13 Javascript
JavaScript中filter的用法实例分析
2019/02/27 Javascript
详解从vue-loader源码分析CSS Scoped的实现
2019/09/23 Javascript
JavaScript设计模式之门面模式原理与实现方法分析
2020/03/09 Javascript
[02:36]DOTA2混沌骑士 英雄基础教程
2013/11/26 DOTA
Python线性拟合实现函数与用法示例
2018/12/13 Python
python如何给字典的键对应的值为字典项的字典赋值
2019/07/05 Python
Python3内置模块random随机方法小结
2019/07/13 Python
opencv python图像梯度实例详解
2020/02/04 Python
Python加载数据的5种不同方式(收藏)
2020/11/13 Python
python UDF 实现对csv批量md5加密操作
2021/01/01 Python
二年级评语大全
2014/04/23 职场文书
中学生英语演讲稿
2014/04/26 职场文书
小学国庆节活动方案策划书
2014/09/16 职场文书
同学聚会邀请函
2015/01/30 职场文书
幼儿教师辞职信
2015/02/27 职场文书
结婚纪念日感言
2015/08/01 职场文书
门卫管理制度范本
2015/08/05 职场文书
Python源码解析之List
2021/05/21 Python