文档文库
手机版
投诉建议
热门搜索:
心得体会
演讲稿
思想汇报
首页
心得体会
学习心得体会
培训心得体会
军训心得体会
社会实践
作风建设
工作心得体会
教育心得体会
演讲稿
演讲稿格式
演讲稿范文
竞聘演讲稿
师德演讲稿
三分钟演讲稿
思想汇报
思想汇报范文
转正思想汇报
大学生思想汇报
季度思想汇报
教师思想汇报
工作计划
工作计划格式
工作计划开头
工作计划结尾
总结与计划
工作计划模板
工作总结
年终工作总结
年度工作总结
个人工作总结
实习报告
实习报告范文
实习计划范文
实习鉴定范文
实习报告内容
个人简历
求职简历
简历范文
简历模板
简历表格
简历格式
祝福语
春节
除夕
元宵
端午节
合同范文
合同范本
合同样本
合同范本格式
首页
>
java多态性详解——父类引用子类对象
java多态性详解——父类引用子类对象
发布时间:2023-01-19 03:40:23 来源:
文档文库
小
中
大
字号:
手机查看
少年易学老难成,一寸光阴不可轻
-
百度文库
面向对象编程有三个特征,即封装、继承和多态。
封装隐藏了类的内部实现机制,
从而可以在不影响使用者的前提下改变类的
内部结构,同时保护了数据。
继承是为了重用父类代码,
同时为实现多态性作准备。
那么什么是多态呢?
方法的重写、
重载与动态连接构成多态性。
Java
之所以引入多态的概念,
原
因之一是它在类的继承问题上和
C++
不同,后者允许多继承,这确实给其带来的
非常强大的功能,但是复杂的继承关系也给
C++
开发者带来了更大的麻烦,为了
规避风险,
Java
只允许单继承,派生类与基类间有
IS-A
的关系(即“猫”isa
“动物”)
。
这样做虽然保证了继承关系的简单明了,
但是势必在功能上有很大
的限制,所以,
Java
引入了多态性的概念以弥补这点的不足,此外,抽象类和
接口也是解决单继承规定限制的重要手段。
同时,
多态也是面向对象编程的精髓
所在。
要理解多态性,首先要知道什么是“向上转型”。
我定义了一个子类
Cat
,它继承了
Animal
类,那么后者就是前者是父类。
我可以通过
Catc=newCat(;
实例化一个
Cat
的对象,这个不难理解。但当我这样定义时:
Animala=newCat(;
这代表什么意思呢?
很简单,它表示我定义了一个
Animal
类型的引用,指向新建的
Cat
类型的
对象。由于
Cat
是继承自它的父类
Animal
,所以
Animal
类型的引用是可以指向
Cat
类型的对象的。
那么这样做有什么意义呢?因为子类是对父类的一个改进和
扩充,所以一般子类在功能上较父类更强大,属性较父类更独特,
定义一个父类类型的引用指向一个子类的对象既可以使用子类强大的功能,
又可以抽取父类的共性。
所以,
父类类型的引用可以调用父类中定义的所有属性和方法,
而对于子类
中定义而父类中没有的方法,它是无可奈何的;
同时,父类中的一个方法只有在在父类中定义而在子类中没有重写的情况
下,才可以被父类类型的引用调用;
对于父类中定义的方法,
如果子类中重写了该方法,
那么父类类型的引用将
会调用子类中的这个方法,这就是动态连接。
1
少年易学老难成,一寸光阴不可轻
-
百度文库
看下面这段程序:
classFather{
publicvoidfunc1({
func2(;
}
//
这是父类中的
func2(
方法,因为下面的子类中重写了该方法
//
所以在父类类型的引用中调用时,这个方法将不再有效
//
取而代之的是将调用子类中重写的
func2(
方法
publicvoidfunc2({
System.out.println("AAA";
}
}
classChildextendsFather{
//func1(inti
是对
func1(
方法的一个重载
//
由于在父类中没有定义这个方法,所以它不能被父类类型的引用调用
//
所以在下面的
main
方法中
child.func1(68
是不对的
publicvoidfunc1(inti{
System.out.println("BBB";
}
//func2(
重写了父类
Father
中的
func2(
方法
//
如果父类类型的引用中调用了
func2(
方法,
那么必然是子类中重写的这
个方法
publicvoidfunc2({
System.out.println("CCC";
2
本文来源:
https://www.2haoxitong.net/k/doc/8a5e142e876a561252d380eb6294dd88d1d23d10.html
《java多态性详解——父类引用子类对象.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档
文档为doc格式
分享到:
相
关
案
例
正在进行安全检测...
2024-04-28
正在进行安全检测...
2024-04-28
正在进行安全检测...
2024-04-28
正在进行安全检测...
2024-04-28
正在进行安全检测...
2024-04-28
正在进行安全检测...
2024-04-28
正在进行安全检测...
2024-04-28
正在进行安全检测...
2024-04-28
正在进行安全检测...
2024-04-28
正在进行安全检测...
2024-04-28
相关推荐
1
供电所个人工作总结
2
父类与子类
3
父类对象由子类实例化
4
【精编范文】营销管理应届生的个人简历模板-优秀word范文 (3页)
5
供电所个人工作总结-通用
6
证明父子关系的证明
7
供电所个人工作总结
8
供电所个人工作总结
9
供电所个人年终工作总结
10
理科二本适合女生的专业参考
推荐内容
第四十讲 向上转型和强制类型转换
2017-2022年中国体育器材产业深度调研与发展前景分析报告(目录)
Java中的多态用法实例分析
java习题及答案第5章 习题参考答案
Java父类子类与接口案例
面向对象ppt笔记
100道Java面试题收集以及参考答案
JavaSE知识点总结(个人整理)
子类继承和调用父类构造方法的执行顺序
13. Java中的多态和类型转换(难点)