黑马程序员技术交流社区

标题: 请教:类中的非静态函数是存放在哪里的? [打印本页]

作者: 布易般    时间: 2013-7-26 16:24
标题: 请教:类中的非静态函数是存放在哪里的?
本帖最后由 布易般 于 2013-7-26 17:02 编辑

听老毕讲面向对象,我一个疑问我没搞清楚:类中的非静态函数是存放在哪里的?

我知道【栈】中存放:局部变量、定义的对象名
           【堆】中存放:数组实体、对象实体等引用变量的实体。
           【方法区】中存放:static的成员变量和成员函数

但是我不知道类中的非静态函数是存放在哪里的?老毕有几次在画图演示的时候,都是把非静态函数画在堆的右边,没有画在堆中。
不知道有没有同学能帮忙解答一下?

作者: xwf4348    时间: 2013-7-26 16:44
你自己已经回答了这个问题。类中的非静态函数也是类的成员函数,所以也是放在方法区内的
作者: a2213502    时间: 2013-7-26 16:58
                                                   (存放的位置)
静态成员变量(类变量)      ----->方法区的静态部分
静态方法                    ----->方法区的静态部分
非静态方法(包括构造函数)  ----->方法区的非静态部分
静态代码块                  ----->方法区的静态部分
构造代码块                  ----->方法区的静态部分
作者: 布易般    时间: 2013-7-26 17:01
a2213502 发表于 2013-7-26 16:58
(存放的位置)
静态成员变量(类变量)      ----->方 ...

O(∩_∩)O哈!一目了然,谢了~~
作者: 布易般    时间: 2013-7-26 17:01
xwf4348 发表于 2013-7-26 16:44
你自己已经回答了这个问题。类中的非静态函数也是类的成员函数,所以也是放在方法区内的 ...

O(∩_∩)O哈!谢了!
作者: breaveheart    时间: 2013-7-26 17:47
方法区里啦,我印象里老师有提及过的。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2