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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 吕猛 黑马帝   /  2011-12-8 22:10  /  3282 人查看  /  17 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 京泰 于 2011-12-12 15:03 编辑

请问大家这个setName为什么也加载到方法区啊?

评分

参与人数 1技术分 +1 收起 理由
王德云 + 1

查看全部评分

17 个回复

倒序浏览
因为方法区是放方法的地方。。。setName()是一个方法!~
回复 使用道具 举报
方法区放的是方法的代码,getname也是方法自然也是在方法区了。
回复 使用道具 举报
setName其实就是定义的一个功能,也就是方法。方法必然要放入方法区的。
回复 使用道具 举报
如果你了解封装这个概念的话就好理解了。首先封装就是将类里面的一些属性私有化,提供共有的方法访问私有的属性,并为每个属性创建一对取值(getter)方法和赋值(setter)方法!就比如上面代码中的name,name被private修饰 说明它已经被私有化了,这样就限制了对属性的访问,这样除了这个类本身,其他外部类都不能直接访问这个类里面的name属性,只能通过这些属性的取值、赋值方法进行这些私有变量的访问,而这里代码中的setName()就是私有属性name的一个赋值方法,只有具备了这个方法外部类才可以调用该属性!所以这里的setName()也是一个方法,是一个特殊的赋值方法而已!既然是也是一个方法,当然就要放到方法区中了!这样明白些了吧 哥们儿?
回复 使用道具 举报
方法一般都是放方法区的.

方法区里包含有:    静态方法区和非静态方法区  ,不同的是静态方法是在类加载的时候跟着就加载了,而非静态成员方法则是在建立对象的时候加载.
回复 使用道具 举报
杨强 黑马帝 2011-12-9 09:06:05
7#
setName()是一个方法,所以要放到方法区
回复 使用道具 举报
李明 黑马帝 2011-12-9 09:16:01
8#
首先setName()是方法,当然要加载到方法区。
回复 使用道具 举报
吕猛 黑马帝 2011-12-9 22:10:26
9#
许邦存 发表于 2011-12-8 23:00
方法区放的是方法的代码,getname也是方法自然也是在方法区了。

你好,感谢你的帮助,再请问一下。那speak和show不是也应当在方法区吗?
回复 使用道具 举报
吕猛 黑马帝 2011-12-9 22:10:52
10#
zclove898 发表于 2011-12-8 23:33
setName其实就是定义的一个功能,也就是方法。方法必然要放入方法区的。

你好,感谢你的帮助,再请问一下。那speak和show不是也应当在方法区吗?
回复 使用道具 举报
吕猛 黑马帝 2011-12-9 22:11:47
11#
◇半度微凉 发表于 2011-12-8 23:48
如果你了解封装这个概念的话就好理解了。首先封装就是将类里面的一些属性私有化,提供共有的方法访问私有的 ...

你好,感谢你的帮助,再请问一下。那speak和show不是也应当在方法区吗?
回复 使用道具 举报
吕猛 黑马帝 2011-12-9 22:12:12
12#
◇半度微凉 发表于 2011-12-8 23:48
如果你了解封装这个概念的话就好理解了。首先封装就是将类里面的一些属性私有化,提供共有的方法访问私有的 ...

你好,感谢你的帮助,再请问一下。那speak和show不是也应当在方法区吗?
回复 使用道具 举报
吕猛 黑马帝 2011-12-9 22:12:58
13#
应国炎 发表于 2011-12-9 08:35
方法一般都是放方法区的.

方法区里包含有:    静态方法区和非静态方法区  ,不同的是静态方法是在类加载的 ...

你好,感谢你的帮助,再请问一下。那个steName不是没有static修饰吗?
回复 使用道具 举报
哥 们,你那屏幕怎么捕捉的啊,我捕捉了好几次都看不了效果,全是黑色的!!!下载了工具也是,我用的是完美者解码播放器!
回复 使用道具 举报
吕猛 黑马帝 2011-12-9 22:24:56
15#
王德云 发表于 2011-12-9 22:19
哥 们,你那屏幕怎么捕捉的啊,我捕捉了好几次都看不了效果,全是黑色的!!!下载了工具也是,我用的是完美者 ...

告诉你个超级好用的工具。QQ+QQ播放器。其实只用QQ播放器也可以,上面有截图功能。但是我还是喜欢暂停的时候用QQ的ctrl+alt+a来截图,习惯了~!
回复 使用道具 举报
吕猛 黑马帝 2011-12-9 22:27:54
16#
王德云 发表于 2011-12-9 22:19
哥 们,你那屏幕怎么捕捉的啊,我捕捉了好几次都看不了效果,全是黑色的!!!下载了工具也是,我用的是完美者 ...

我一直用QQ播放器,别的播放器不了解。之前用暴风影音来的,广告太多。改用QQ播放器了,没广告。然后上面有个截图功能。不过我一般都是用QQ的ctrl+alt+a来截图,方便,准确!
回复 使用道具 举报
在new一个对象前,首先会加载这个类的.class类文件,加载类文件时,除了非静态成员变量(对象的特有属性)不会被加载,其它的都会被加载。
分别被加载到内存中的不同区域:
静态成员变量(类变量)                ----->方法区的静态部分
静态方法                              ----->方法区的静态部分
非静态方法(包括构造函数)        ----->方法区的非静态部分
回复 使用道具 举报
刘孝波 黑马帝 2011-12-10 09:56:23
18#
new=character();
首先会加载这个类的.class类文件,加载类文件时,除了非静态成员变量(对象的特有属性)不会被加载,其它的都会被加载。
分别被加载到内存中的不同区域:
静态成员变量(类变量)                ----->方法区的静态部分
静态方法                              ----->方法区的静态部分
非静态方法(包括构造函数)        ----->方法区的非静态部分
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马