变量是否可以在任何其他地方访问静态块中声明? 他们是什么样的成员(即他们是否是静态成员?)在java中的静态块中声明变量的范围是什么?
回答
通常程序员不需要在静态块内声明任何变量,通常这只是为了确保初始化静态变量以供所有类的实例使用(取决于静态变量的作用域)。
在静态块中声明的变量对于块来说就像方法和构造函数变量一样是局部的。
在块内声明的变量只能在该块内部访问。静态或无。
在静态方法中声明的变量是静态的。他们只能访问其他静态变量或全局变量。
但不同于C/C++的局部变量,这些变量并不真正‘走出去的范围’的块执行后,对不对? – 2012-03-30 21:20:17
块中的变量范围是该块。执行后,您无法访问这些变量。这就是变量超出范围的含义。一个静态块只执行一次,所以你无法重新输入它。通常情况下,使用静态块来初始化类加载时以及运行构造函数之前的类中的静态字段。静态字段具有您提供的范围:public,package protected,protected,private。 – 2012-03-31 09:23:20
它们就像方法变量。只能在块范围内访问。
不,在块之外不可见。它们像局部变量一样行动 - 将静态块视为在类初始化时被调用的匿名函数。他们不是静态成员。
- 1. 在“for”条件中声明的变量的范围是什么?
- 2. 变量声明后的静态块是什么?
- 3. 在Java中的非静态类中声明静态变量
- 4. 为什么不能在非静态块中声明静态最终变量?
- 5. 在Java中,静态方法中声明的变量本身是静态的吗?
- 6. 声明静态变量时的输出是什么?为什么?
- 7. Seam中的静态变量的范围
- 8. 函数内部声明的静态变量的值是什么?
- 9. 在声明中声明的变量未在类范围中声明
- 10. 为什么在JavaScript中选择'let'作为块范围变量声明?
- 11. Java声明/变量范围问题
- 12. Django - 为什么模型类中声明的变量静态
- 13. 为什么不声明每个变量都是静态的
- 14. 为什么静态变量需要在C++中声明两次
- 15. 模块范围中声明的变量不是模块对象的属性吗?
- 16. gyp中变量的范围是什么?
- 17. 在函数中声明静态变量
- 18. Go中短变量声明和长变量声明之间的关闭范围区别是什么?
- 19. 声明变量和范围
- 20. Perl声明范围的变量声明中的效率
- 21. 静态字段的范围是什么?
- 22. 静态类的范围是什么?
- 23. 什么范围是深度代码中使用的未声明变量?
- 24. 围棋中的变量声明语法是什么?
- 25. 静态对象中的非静态变量的范围
- 26. PHP静态范围重新声明
- 27. SyntaxError:node.js中的块范围声明webstorm
- 28. 为什么接口变量在Java中是隐式静态的?
- 29. 范围JavaScript变量的声明为inline
- 30. Java中的私有,静态和变量范围
“通常程序员不需要在静态块中声明任何变量”>>为什么不呢?如果您需要临时对象来保存数据,您将在静态块中包含变量。 考虑一个场景,当你需要在算术后实例化一个静态字段并且想让代码可读时 'static float radius; 静态浮动区域; 静态最终浮点数PI = 3.14f; area =(float)(PI * Math.pow(radius,2)); }' – realPK 2016-07-02 20:08:27