黑马程序员技术交流社区
标题:
static代码块 与 static关键字 疑问 ?
[打印本页]
作者:
崔朋朋
时间:
2012-9-14 17:37
标题:
static代码块 与 static关键字 疑问 ?
类中定义的 static成员变量 和 static代码块 中定义的变量 是不是 都 放在内存的 静态域 里边?
static成员变量 和 static代码块 中定义的变量 是不是多个对象之间共享 ?:o
作者:
马睿
时间:
2012-9-14 17:43
静态成员变量(唯独没有非静态成员变量) 方法区静态部分
静态方法 方法区静态部分
非静态方法 方法区非静态部分
静态代码块 方法区静态部分
构造代码块 方法区静态部分
static变量也会放到方法区静态部分中……
所以都是放到了方法去静态部分了
作者:
丁旭
时间:
2012-9-14 18:13
类中定义的static成员变量属于类变量放在内存方法区中,对所有对象共享。
static代码块中定义的变量属于局部变量放在栈区内,不可以多个对象共享。
作者:
张飞年
时间:
2012-9-14 18:29
(1)类中的static成员变量和static 代码块中的变量都 是在静态存储区,它们都是一种随类一起被加载的。
(2)static成员变量 和 static代码块 中定义的变量是共享的。 原因是对于静态变量,在内存中只有一个拷贝(节省内存),JVM只为静态分配一次内存,在加载类的过程中完成静态变量的内存分配,可用类名直接访问(方便),当然也可以通过对象来访问。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2