多态
来源:互联网 发布:u盘启动ubuntu系统 编辑:程序博客网 时间:2024/06/07 02:36
理解:同一个对象引用在不同的地方代表不同的实现;
1多态的前提:
A:有继承或者实现关系。
B:有方法重写。
C:有父类或者父接口引用指向子类对象。
2分类:
具体类多态
class Son extends Father{}Father father=new Son()
抽象类多态
abstract class Father {} class Son extends Father {} Father father=new Son()
接口多态
interface Father {} class Son implements Father {} Father father=new Son()
3多态中的成员访问特点
A:成员变量
编译看左边,运行看左边
B:构造方法
子类的构造都会默认访问父类构造
C:成员方法
编译看左边,运行看右边
D:静态方法
编译看左边,运行看左边
4多态的内存执行顺序
Father father=new Son()
1:在栈中为Father father分配内存空间
2:在堆中为new Son()分配内存空间
3:在堆中对Father 成员变量初始化,并获取方法区Father 成员方法的内存地址
4:在堆中对Son成员变量初始化,并获取方法区Son成员方法的内存地址
5:最后将new son()的内存地址给对象引用father
0 0
- 多态
- 多态
- 多态
- 多态
- 多态
- 多态
- 多态
- 多态
- 多态
- 多态
- 多态
- 多态
- 多态
- 多态
- 多态
- 多态
- 多态
- 多态
- 统计学习基础(概念,基本思想,先验知识)
- find a way to escape(物理真白学了)
- mysql explain执行计划中常见信息整理
- 最大公约数和最小公倍数问题
- (九)数据结构—栈
- 多态
- Android优雅之路——findViewBy Button
- 【深度学习】深度学习简介
- 自动装箱
- 紫书章五例二 木块问题 UVA 101(vector)
- LeetCode: 44. Wildcard Matching
- c++基础之继承
- Android 的ProgressDialog的dismiss()与cancel()方法的区别
- Java 创建文件输出流的时候报错