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