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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 浪死歌 中级黑马   /  2015-5-5 21:37  /  666 人查看  /  8 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

今天刚学了抽象想问一下,抽象的方法 是放在内存中的什么位置的呀?和成员方法一样 在栈内存中吗??总感觉不像。老师也没画内存图

8 个回复

倒序浏览
:'( 求大牛指点呀
回复 使用道具 举报
本帖最后由 wkz_crystal 于 2015-5-5 22:02 编辑

这个问题提的很好!我们知道程序都有一个代码段(方法或者方法主体),在内存中需要占据一定的内存,而抽象类没有具体的实现方法,没有办法为它分配内存空间为了安全起见,JAVA中不允许抽象类或者接口直接实例化,必然也就不存在内存空间的分配哈!请大家补充,这个是我个人的理解!
回复 使用道具 举报
:)感觉还是不太懂
回复 使用道具 举报
JAVA中不允许抽象类或者接口直接实例化,说的对。在方法区吧,栈和堆不大可能
回复 使用道具 举报
应该是随着class进入方法区吧,,不知道对不对
回复 使用道具 举报
不能被实例化,应该在内存中没有分配空间
回复 使用道具 举报
思考了很久确实没找到答案,按照我的理解,抽象方法只有方法描述,没有实体。我们都知道对于一个类来说,如果没创建一个实例的话,那么此时的属性是没有被初始化的。所以我认为抽象方法与没有被初始化的属性是一个状态。
回复 使用道具 举报
应该在方法区
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马