混海角 发表于 2007-8-16 10:48

一个关于Java的菜鸟问题

用Static定义的类或方法,是不是系统立即分配内存空间啊,不需另外具体化。
刚刚开始接触,见笑了。

liebe0708 发表于 2007-8-18 18:20

有关系么?同问?

irgendwobb 发表于 2007-8-19 09:00

原帖由 混海角 于 2007-8-16 11:48 发表 http://www.dolc.de/forum/images/common/back.gif
用Static定义的类或方法,是不是系统立即分配内存空间啊,不需另外具体化。
刚刚开始接触,见笑了。
对的,而且被附了初值了

andylong 发表于 2007-8-20 17:21

;) 建议初学者去看一下马士兵java视频系列$支持$

cn1h 发表于 2007-8-22 07:01

所以static量必须声明的时候就赋初值,而不是象其他量那样可以通过构造函数赋值。

renzaijianghu 发表于 2007-8-22 10:07

原帖由 cn1h 于 2007-8-22 08:01 发表 http://www.dolc.de/forum/images/common/back.gif
所以static量必须声明的时候就赋初值,而不是象其他量那样可以通过构造函数赋值。

这么说有点过啊;) static 变量不必赋初值的,可以在任何函数内赋值的. 类似构造函数,也可以在static{}块内赋值.

irgendwobb 发表于 2007-8-22 10:15

原帖由 renzaijianghu 于 2007-8-22 11:07 发表 http://www.dolc.de/forum/images/common/back.gif


这么说有点过啊;) static 变量不必赋初值的,可以在任何函数内赋值的. 类似构造函数,也可以在static{}块内赋值.
这还有点不太对吧,static变量是自动被赋初值的,比入如果 int 类型就 是0, Integer 就是null

renzaijianghu 发表于 2007-8-22 21:02

原帖由 irgendwobb 于 2007-8-22 11:15 发表 http://www.dolc.de/forum/images/common/back.gif

这还有点不太对吧,static变量是自动被赋初值的,比入如果 int 类型就 是0, Integer 就是null
;)1. 所有的成员变量,static变量,如果不赋初值的,都会被自动赋初值,也就是说,是否被赋初值和static没有关系.
2,我的命题是, "static 变量不必赋初值的,可以在任何函数内赋值的. 类似构造函数,也可以在static{}块内赋值.", 不必的意思就是说,可以赋初值,也可以不赋, 这和它是不是自动被赋初值没什么关系.
3,这个命题的反命题是,"static 变量必须被赋初值",这个很好验证,随便写个类,声明一个没有初值的static变量,如果编译通过,就可以证明反命题是错误的.

并非如此 发表于 2007-8-28 10:11

原帖由 混海角 于 2007-8-16 11:48 发表 http://www.dolc.de/forum/images/common/back.gif
用Static定义的类或方法,是不是系统立即分配内存空间啊,不需另外具体化。
刚刚开始接触,见笑了。
你的话有点别扭,但是是对的,java摒弃了全局变量的概念,但是保留了静态成员,static成员在类加载的时候就已经在静态内存区域分配了固定的空间(应该是在栈里面,我对jvm了解不多,不敢确定),所以在使用的时候,最好直接用类名引用,不要用对象名,以示区别,还有在引用前无需实例化,一般作为类的公共属性(比如记载实例的个数),静态成员可以被继承,但是不体现多态性。

我对java了解不多,这些只是我个人的理解,如有错误,还望指教。

奇朵啊朵 发表于 2007-8-28 19:53

页: [1] 2
查看完整版本: 一个关于Java的菜鸟问题