在java中的静态块内声明的变量范围是什么?

时间:2012-03-30 20:38:53

标签: java static static-members

在静态块内声明的变量是否可以在其他地方访问? 他们是什么样的“成员”(即,他们也是静态成员吗​​?)

4 个答案:

答案 0 :(得分:12)

通常程序员不需要在静态块中声明任何变量,通常这只是为了确保静态变量的初始化以供所有类实例使用(取决于静态变量的范围)。

在静态块内声明的变量将与该方块和构造函数变量一样是该块的本地变量。

JDK Docs

答案 1 :(得分:10)

块内声明的变量只能在该块内部访问。静态或不。

静态方法中声明的变量是静态的。它们只能访问其他静态变量或全局变量。

答案 2 :(得分:4)

它们就像方法变量。只能在块范围内访问。

答案 3 :(得分:0)

不,在街区外不可见。它们就像局部变量一样 - 将静态块视为在类初始化时调用的匿名函数。他们不是静态成员。