美国上市公司,专注Java培训21年

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


现在假如你是java语言的开发者,你已经将对象保存在了堆内存中,而将局部变量保存在了栈内存中,你会怎么做呢?

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

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

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

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

其实,不管是局部变量还是成员变量,都是必须要初始化的,那为什么成员变量会自动初始化?其实正是因为成员变量属于对象,而对象是保存在 堆中的,所以jvm就在初始化类的时候把成员变量初始化呢,而如果我们在调用方法的时候,还要jvm去将局部变量也进行初始化,是不是对会影响到性能呢?因此,直接强制局部变量必须要初始化反而更好。


【免责声明】本文部分系转载,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责,如涉及作品内容、版权和其它问题,请在30日内与我们联系,我们会予以重改或删除相关文章,以保证您的权益!

Java开发高端课程免费试学

大咖讲师+项目实战全面提升你的职场竞争力

  • 海量实战教程
  • 1V1答疑解惑
  • 行业动态分析
  • 大神学习路径图

相关推荐

更多
  • Java线下培训可以找到工作吗?
    Java线下培训可以找到工作吗?
    Java线下培训可以找到工作吗?参加Java线下培训后找到工作是可能的,但这取决于多个因素,包括培训的质量、个人的学习效果、面试准备、行业需求以及个人的努力程度。 详情>>

    2024-03-25

  • Java软件工程师培训哪里好?
    Java软件工程师培训哪里好?
    Java软件工程师培训哪里好?在中国,想要成为一名Java软件工程师,可以通过多种途径接受培训,包括正规的大学教育、在线课程、职业培训机构以及企业内部的培训项目。以下是一些推荐的资源和途径: 详情>>

    2024-02-29

  • Java编程入门先学什么?
    Java编程入门先学什么?
    Java编程入门首先需要学习Java基础知识。这包括了解Java语言的概念与基本构造,学习JavaSE(JavaStandardEdition)基础,掌握Java编程语言的基本语法、数据类型、控制结构、面向对象编程等。 详情>>

    2024-01-16

  • Java编程速成班一般多少钱?
    Java编程速成班一般多少钱?
    Java编程速成班一般多少钱?​Java编程速成班的价格因地区、培训机构、课程内容、教学方式(线上或线下)、上课时长和教师资质等因素而有很大差异。以下是一些大致的价格范围,以供参考: 详情>>

    2024-01-16

  • Java开班时间

    收起