12
A
回答
24
標準局部變量都保存在棧上,而不是實際創建直到它們被初始化。如果沒有使用局部變量,它不會進入堆棧。然而,成員變量分配在堆中,因此有一個默認的佔位符(空引用或默認原語)。
+0
最好的解釋 – 2015-10-12 12:09:38
1
的非技術原因的背後也可能是下列之一:
如果聲明是爲了與你用它做一個局部變量。用法與分配值相關。因此,訪問已聲明但未初始化的變量沒有多大意義 - 程序員可能已經忘記初始化該變量。
但是,字段可能只能用於直到或在對象的生命週期的指定點之後。強制程序員初始化它們都不會好。
相關問題
- 1. Ruby實例變量和局部變量
- 2. Rails - 局部變量與實例變量
- 3. 實例vs局部變量
- 4. 局部變量,實例變量和符號之間的混淆
- 5. rails將實例變量傳遞給佈局或局部變量
- 6. 實例變量,默認爲原子
- 7. 實例化局部變量的模板
- 8. Android - 活動的局部變量與實例變量的性能
- 9. 將局部變量改爲實例變量後的重構
- 10. 用於訪問易失性實例變量的局部變量
- 11. Rails中的局部變量與實例變量?
- 12. logstash的默認變量值
- 13. Yaml:變量的默認值
- 14. 局部註冊實例變量
- 15. 得到局部變量值類變量
- 16. 適配器應該是局部變量還是實例變量?
- 17. 用局部變量替換實例變量
- 18. 未初始化的實例變量取局部變量值(同名)的Java
- 19. Java默認變量值
- 20. 如何在rails中設置select_tag的默認值?實例變量
- 21. 將默認值賦給UIImageView子類的實例變量
- 22. 可以硬編碼實例變量的默認值嗎?
- 23. 如何設置實例變量的默認值?
- 24. AS3:使用實例變量的默認參數值
- 25. 局部變量的全局變量
- 26. 全局和局部變量
- 27. 全局和局部變量
- 28. 爲什麼局部變量不能用默認值初始化?
- 29. 改變局部變量的值執行原始全局變量的值變化
- 30. php全局變量和實例變量利用率
「初始變量值」的方便參考卡:http://java.sun.com/docs/books/jls/third_edition/html/typesValues.html#4.12.5 – trashgod 2010-01-15 22:26:20
可能的重複[爲什麼是局部變量沒有在Java中初始化?](http://stackoverflow.com/questions/415687/why-are-local-variables-not-initialized-in-java) – Raedwald 2014-03-11 13:08:00
這裏是一個[更新的鏈接](http://docs.oracle.com .com/javase/specs/jls/se8/html/jls-4.html#jls-4.12.5)作爲trashgod的參考。 – jpaugh 2015-12-24 17:40:50