A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

在多态中,成员变量的特点(包括静态)
无论是编译还是运行都参考左边(引用型变量所属的类)

在多态中,静态成员函数的特点:
无论是编译还是运行都是参考左边

谁能教我内存空间分配。。

5 个回复

倒序浏览
视频的最后应该有一小段是将内存分配的,在编号为102视频后半段,虽然不太详细!
回复 使用道具 举报
zhaozhao 发表于 2014-12-10 22:22
视频的最后应该有一小段是将内存分配的,在编号为102视频后半段,虽然不太详细! ...

我看了,不是很懂,所以来论坛看看,求解!
回复 使用道具 举报
对于成员函数:
编译看左边,左边是父类引用,编译时jvm会查看父类方法区中是否有该方法;
运行时,引用是指向的是子类的对象,调用的是子类对象中实现或是重写的方法。

对于成员变量:
“父类引用.成员变量”自然指向的是堆内存中,父类成员变量。(这里与成员函数区别开)

对于静态成员来说:
它们是随着类的创建而创建,是优先于对象创建的,并支持“类名.成员变量(函数)”的引用方法,
所以“父类引用.静态成员”必然指向的是父类中的静态成员。

呵呵,不知道看懂了没,有问题一起交流!
回复 使用道具 举报
zhaozhao 发表于 2014-12-11 14:35
对于成员函数:
编译看左边,左边是父类引用,编译时jvm会查看父类方法区中是否有该方法;
运行时,引用是指 ...

恩恩,懂了一些,让我再慢慢理解理解!谢谢啊
回复 使用道具 举报
这个问题。。。对于静态成员变量来说,在加载类还没产生对象的时候,静态成员变量已经被加载进内存了,可以用     父类引用.静态成员变量    来表示,这是固定不变的而且不因对象的建立而改变,子类也有同名静态成员的话,在内存里,可以用  子类引用.静态成员变量   来表示,这也是固定不变而且也不因对象的建立而改变,所以说看成员变量左边是谁的引用就用谁的值。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马