前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >为什么 Java 中的局部变量必须要初始化?

为什么 Java 中的局部变量必须要初始化?

原创
作者头像
水货程序员
发布2019-01-29 23:01:40
4.1K0
发布2019-01-29 23:01:40
举报
文章被收录于专栏:javathingsjavathings

对于这种问题,第一感觉就像是做语文阅读理解题目,问作者为什么要这么写?

Java 中的变量分为类变量,成员变量和局部变量,分别位于 JVM 的方法区、堆内存和栈内存中。类变量和成员变量都可以在类首次加载和类初始化时,给出默认值,但是局部变量就必须要在使用前赋值。

实际上,Java 完全可以设计成局部变量不需要初始化,只要作者们高兴。事实上,就有这样的语言,比如 C++。

当然,C++不强制必须初始化,不代表就不用初始化,实际上,C++开发者也都是建议对局部变量初始化,以防止出现野指针这类事情。

《Thing in Java》的作者提到,只要他们高兴,他们就可以这么干,但不这么干的原因就是为了不容易出现错误。

这样的设计,就是语言设计者认为做了一件对的事情。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档