黑马程序员技术交流社区
标题:
static 共享(完成)
[打印本页]
作者:
王琪
时间:
2013-12-17 20:50
标题:
static 共享(完成)
本帖最后由 王琪 于 2013-12-22 01:54 编辑
class deom{
static int a=90;
}
class java {
demo a1=new demo();
demo a2=new demo();
demo a3=new demo();
}
它们的变量是共享的?static就行吗?不还产生新的对象吗?
作者:
王召轩
时间:
2013-12-17 21:25
被static修饰的变量,叫静态变量或类变量。对于静态变量在内存中只有一个拷贝(节省内存),JVM只为静态分配一次内存,在加载类的过程中完成静态变量的内存分配,可用类名直接访问(方便),当然也可以通过对象来访问(但是这是不推荐的)。
作者:
淡淡de烟草味
时间:
2013-12-17 22:39
静态的特点: A:随着类的加载而加载 B:优先于对象存在 C:被类的所有对象共享 D:可以通过类名调用
作者:
王琪
时间:
2013-12-18 12:36
为什么先于对象存在?常量池与静态有关系吗?关于jvm拷贝new String ("nihao"); new String ("nihao");他们共用一个"nihao"常量?老师说String类特别?
作者:
taoge
时间:
2013-12-18 13:10
变量是存放在栈内存中的,独一份,后面new出来的a1 a2 a3存放在堆内存中,三个对象的引用地址不一样,但里面的a的值一样
作者:
王琪
时间:
2013-12-18 19:37
哦...明白了谢谢你..
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2