Java内存中没有实例化一个类的时候,该类的成员变量放在哪?对象又是怎么引用方法的? 10

以前看高淇老师的视频的时候,高老师讲到:方法区中存放这类的信息:包括成员变量和方法。new的时候类似于复制该类,把这个类的模板放到堆中,然后由这个new出来的对象引用。刚... 以前看高淇老师的视频的时候,高老师讲到:方法区中存放这类的信息:包括成员变量和方法。
new的时候类似于复制该类,把这个类的模板放到堆中,然后由这个new出来的对象引用。

刚刚看到毕向东老师的视频,视频里讲到:
方法区中只存放方法,成员变量是随着对象的实例化而存放在对象中,就是堆中。

那我想问一下,在没有实例化的时候,这些成员变量放在哪呢?
另外,对象实例化的时候,只把成员变量存到对象,方法并不存放么?
那栈中的对象引用堆中存放的对象信息,而通过对象调用方法的时候怎么调用?对象引用的信息只有成员变量,怎么能引用到方法呢?

讲的可能有点乱,不知道各位能不能看懂。感觉两位老师讲的完全不一样,所以想问一下正确的存取方式。
展开
 我来答
百度网友67f0790
推荐于2016-03-13 · TA获得超过401个赞
知道小有建树答主
回答量:293
采纳率:0%
帮助的人:214万
展开全部
java 讲的是 面向对象
一个类是一个对象
实例化一个类出来的对象是该类的引用 比如 A b = new A() b就是A的引用
A类的所有方法属性 b 现在都可以使用了
你初学者不要先去管 堆栈的问题 你现在主要搞清楚怎么去使用对象
所有非static 关键字 注明的时候 都在使用的时候加入内存当中的
百度网友aa4d221
2014-02-25 · TA获得超过434个赞
知道小有建树答主
回答量:1076
采纳率:40%
帮助的人:674万
展开全部
比较严格来说方法区存放的是类信息,静态变量,和final修饰的常量。没实例话的局部变量都Java栈中。
更多追问追答
追问
你的意思是成员变量也存在于方法区中?
追答
不在,在Java栈里。都属于运行时数据区:包括方法区,堆,Java栈,PC寄存器,本地方法栈。堆和栈两个概念,提的较多,比较重要。你说的成员变量一般指局部变量就在栈中,static,final修饰的时候就加载到方法区,栈中也只能存放基本变量,其他复杂类型存放的是指向堆的地址。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式