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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© smile2015 中级黑马   /  2015-3-24 19:23  /  1277 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

java中static关键字的用法?主要对newUser().getName()和User.name之间的关系,怎么分析呢?

4 个回复

倒序浏览
这个问题来这样看待就简单了……
我们都知道:

1.被static修饰的成员变量和成员方法“独立”于该类的任何对象。

【重点】也就是说,它“不依赖”类“特定的实例”,被类的所有实例共享。

2.只要这个类被加载,Java虚拟机就能根据类名在运行数据时,在该类方法区定能找到他们。

【重点】因此,static对象可以在它的任何对象创建之前访问,“无需引用”任何对象。

【在java的程序中,static静态对象,直接使用就行,无需new出新的应用,O 了 吧!】


回复 使用道具 举报
关于static的用法,请楼主看一下我之前写过的关于static的总结,或许能够帮助到您。
http://bbs.itheima.com/thread-178394-1-1.html
new User().getName();  
new User()表示创建一个匿名的User对象,此时,在堆内存中,会开辟一个空间,并给User中的成员变量赋初始值。然后,getName()这个方法会入栈内存。
使用 User.name,说明name一定是User类的一个静态成员变量,静态成员存储在方法区中的静态区。
回复 使用道具 举报
被static修饰的成员变量被所有对象所共享,非static的成员变量在所有对象中都是特有的
回复 使用道具 举报
不用管那些的,static修饰的是要全局使用的,  
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马