
【Java基础】如何理解父类引用指向子类对象?
5星
- 浏览量: 0
- 大小:None
- 文件类型:PDF
简介:
本教程讲解了在Java中父类引用变量可以指向其子类的对象这一核心概念,帮助初学者掌握多态性原理及其应用。
我们可以从对象的内存角度来理解这个问题:
假设现在有一个父类Father,假设Father类里面的变量占2M内存,而它的子类Son中的变量占用1M内存。
当执行`Father f = new Father();`时,系统分配了2M内存;
当执行`Son s = new Son();`时,系统分配了3M内存(即父类的2M加上子类自己的1M)。
这里可能会有疑问:既然Son的变量只占用了1M内存,为什么给s分配的是3M呢?这是因为,在创建一个子类实例的时候,会自动包含指向其父类的一个引用`super`。因此在初始化子类之前,系统实际上先要为这个引用所对应的父类对象分配空间并执行构造方法。所以由于Son中包含了Father的实例部分,s可以调用到所有属于Father的方法和属性。
下面来看一下具体的代码实现:
全部评论 (0)
还没有任何评论哟~


