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

One*_*ree 15 java static static-members

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

小智 13

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

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

JDK文档


kev*_*een 10

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

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

  • 块中的变量范围是块.执行后,您无法访问这些变量.这就是变量超出范围意味着什么.静态块只执行一次,因此您无法重新输入它.通常,在加载类时以及运行任何构造函数之前,使用静态块初始化类中的静态字段.静态字段具有您提供的范围:public,package protected,protected,private. (2认同)