變量是否可以在任何其他地方訪問靜態塊中聲明? 他們是什麼樣的成員(即他們是否是靜態成員?)在java中的靜態塊中聲明變量的範圍是什麼?
回答
通常程序員不需要在靜態塊內聲明任何變量,通常這只是爲了確保初始化靜態變量以供所有類的實例使用(取決於靜態變量的作用域)。
在靜態塊中聲明的變量對於塊來說就像方法和構造函數變量一樣是局部的。
在塊內聲明的變量只能在該塊內部訪問。靜態或無。
在靜態方法中聲明的變量是靜態的。他們只能訪問其他靜態變量或全局變量。
但不同於C/C++的局部變量,這些變量並不真正‘走出去的範圍’的塊執行後,對不對? – 2012-03-30 21:20:17
塊中的變量範圍是該塊。執行後,您無法訪問這些變量。這就是變量超出範圍的含義。一個靜態塊只執行一次,所以你無法重新輸入它。通常情況下,使用靜態塊來初始化類加載時以及運行構造函數之前的類中的靜態字段。靜態字段具有您提供的範圍:public,package protected,protected,private。 – 2012-03-31 09:23:20
它們就像方法變量。只能在塊範圍內訪問。
不,在塊之外不可見。它們像局部變量一樣行動 - 將靜態塊視爲在類初始化時被調用的匿名函數。他們不是靜態成員。
- 1. 在Java中的非靜態類中聲明靜態變量
- 2. 爲什麼不能在非靜態塊中聲明靜態最終變量?
- 3. 聲明靜態變量時的輸出是什麼?爲什麼?
- 4. Seam中的靜態變量的範圍
- 5. 函數內部聲明的靜態變量的值是什麼?
- 6. Java聲明/變量範圍問題
- 7. Django - 爲什麼模型類中聲明的變量靜態
- 8. 模塊範圍中聲明的變量不是模塊對象的屬性嗎?
- 9. 在函數中聲明靜態變量
- 10. Go中短變量聲明和長變量聲明之間的關閉範圍區別是什麼?
- 11. gyp中變量的範圍是什麼?
- 12. 靜態類的範圍是什麼?
- 13. 什麼範圍是深度代碼中使用的未聲明變量?
- 14. 圍棋中的變量聲明語法是什麼?
- 15. SyntaxError:node.js中的塊範圍聲明webstorm
- 16. 範圍JavaScript變量的聲明爲inline
- 17. 變量未在此範圍內聲明?
- 18. 變量未在範圍內聲明
- 19. 「變量」未在此範圍內聲明
- 20. 類中的類型聲明的範圍是什麼?
- 21. java中的範圍變量
- 22. Java中的變量範圍
- 23. 定義在類(C++)中聲明的變量的範圍?
- 24. PHP - 爲什麼我無法聲明靜態常量變量?
- 25. 在Javascript中,setTimeout中使用的變量的範圍是什麼?
- 26. 在Swift類或結構中聲明爲靜態的變量會發生什麼?
- 27. C++中「using」聲明的範圍是什麼?
- 28. 在非靜態類中聲明一個靜態方法的意義是什麼?
- 29. 在靜態(詞法)範圍內,變量/聲明標識符何時綁定?
- 30. 聲明靜態變量在單
「通常程序員不需要在靜態塊中聲明任何變量」>>爲什麼不呢?如果您需要臨時對象來保存數據,您將在靜態塊中包含變量。 考慮一個場景,當你需要在算術後實例化一個靜態字段並且想讓代碼可讀時 'static float radius; 靜態浮動區域; 靜態最終浮點數PI = 3.14f; area =(float)(PI * Math.pow(radius,2)); }' – realPK 2016-07-02 20:08:27