java static 标示,以及static赋初值的问题。


一:我们知道static是在类加载的时候就加载的,我们今天主要来讲一个static赋初值与不赋初值的问题。

也就是:


我们知道在java中如果没有给整形变量赋初值,他的默认值为0。当我们在前面给sum已经赋值的情况下,比如我们给sum赋值为10,即 sum = 10,然后我们在执行上面的(1)语句,我们再来看看我们sum的值,我们发现sum的值任然为10,没有被(1)中的语句赋值为0,因为在前面sum已经包含了正确的缓存值,也就是被赋予了10。我们执行上面(2)中的代码,我们再来看sum的值,我们发现,sum被赋值为0了,这是因为我们在(2)中显示的定义了sum的值为0,所以他会被重新赋值为0。我们来看看下面代码的例子就知道了。

执行(1)语句我们得到的4950,执行(2)中的代码我们得到的是9900。
所以我们在以后使用static的时候一定要注意。

这个问题在java解惑中的52题,有详细的解析。又不好不对的地方,请大家指出来,谢谢。


posted on 2012-06-10 22:45  c语言源码  阅读(438)  评论(0编辑  收藏  举报

导航