1
A
回答
2
靜態類在加載類時被初始化。它在任何對象被創建之前被初始化。因爲它不需要任何對象進行初始化。可以有任何數量的靜態類和靜態字段。它們都是首先初始化的,以便它們可以隨時隨地使用。
希望解釋有幫助。
3
靜態的,或者說類字段,存儲類本身內不需要類的實例進行訪問。一旦它被第一次使用,該類就會被加載到內存中,並且一旦類被加載,類字段就可用。
2
靜態成員是在運行時分配的成員,它的內存尋址是不可變的。我的意思是,一旦靜態成員被初始化,它將一直保留在內存中的相同位置,直到程序結束。
這就是說,靜態成員在運行時初始化,但並不是初始化的第一件事情。爲了進一步解釋,取決於你的應用程序結構,諸如編譯時間常量字符串和其他常量之類的東西可以被分配爲「第一」,這意味着在應用程序的存儲器尋址開始時。
這樣做的一個很好的特性是速度大大提高,因爲沒有必要爲正確的成員/方法調用內存「搜索」內存。
相關問題
- 1. Jquery首先加載什麼
- 2. 爲什麼類的靜態成員不能在C++中重載?
- 3. 爲什麼只有Java中的靜態內部類具有靜態成員?
- 4. Android保存並加載首先狀態
- 5. 爲什麼這個功能在Node.JS中不會首先加載?
- 6. 爲什麼靜態類只能有靜態成員?
- 7. 內存中的靜態成員和靜態全局變量
- 8. java靜態成員內存泄漏
- 9. 爲什麼在單例類中實例成員是靜態的?
- 10. 爲什麼我們不能在靜態成員函數中使用const成員?
- 11. 什麼是非靜態成員函數?
- 12. 訪問靜態成員靜態成員
- 13. 靜態constexpr成員存儲
- 14. 爲什麼我只能從靜態函數中訪問靜態成員?
- 15. 爲什麼NSCell不贊成使用,爲什麼首先推出?
- 16. 是默認靜態內部類的成員靜態在java中
- 17. 爲什麼靜態成員必須在main()之外初始化?
- 18. 爲什麼此警告說靜態成員正在「繼承」?
- 19. 爲什麼我們可以有靜態最終成員,但不能在內部類中使用靜態方法?
- 20. 爲什麼我不能從C#中的內部類引用靜態成員?
- 21. 爲什麼這些「成員」變量的行爲像靜態?
- 22. 如果靜態成員不在堆上,那麼靜態成員在哪裏?
- 23. 爲什麼靜態共享首選項未保存?
- 24. 靜態成員
- 25. 爲什麼靜態塊不能在調用對象中加載?
- 26. 在類中使用靜態成員對象有什麼問題?
- 27. 爲什麼一個類允許自己擁有一個靜態成員,但不是一個非靜態成員?
- 28. 爲什麼初始化非const和靜態const成員變量而不是靜態成員變量?
- 29. 爲什麼靜態數據成員不能與非靜態數據成員具有相同的名稱?
- 30. 由於靜態成員函數不能修改非靜態成員變量,爲什麼還要使用它呢?
這是一個很好的閱讀:http://www.codeproject.com/Articles/15269/Static-Keyword-Demystified – t3hn00b 2013-04-29 06:55:29
靜態成員存在,直到[應用程序域](http://msdn.microsoft.com/en- us/library/ms173138(v = vs.80).aspx)仍然加載。 – 2013-04-29 06:56:50
面試問題? – AksharRoop 2013-04-29 08:27:30