美文网首页
为什么 Java 中的局部变量必须要初始化?

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

作者: AlbenXie | 来源:发表于2020-05-17 16:32 被阅读0次

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

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

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

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

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


image.png

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

相关文章

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

    对于这种问题,第一感觉就像是做语文阅读理解题目,问作者为什么要这么写? Java 中的变量分为类变量,成员变量和局...

  • java学习4/11

    局部变量和成员变量的区别 Java中的static使用 Java中的静态内部类 Java中继承的初始化顺序 Jav...

  • java 入门笔记

    变量 java中声明的局部变量(声明在方法,if, while, for)变量必须初始化,未经过初始化的变量直接使...

  • No.3变量

    java中变量的分类: 局部变量:在方法、构造方法或者语句块中定义的变量被称为局部变量。变量声明和初始化都是在方法...

  • Java基础——变量

    Java类的变量 局部变量在方法、构造方法或者语句块中定义的变量被称为局部变量。变量声明和初始化都是在方法中,方法...

  • 变量

    变量可分为局部变量、成员变量(也叫实例变量)、静态变量 1.与C语言不同,Java中的局部变量必须先初始化再使用 ...

  • Java基础系列之变量初始化、值传递、引用传递

    初始化 在编写Java代码中,为变量初始化是一种良好的习惯,尤其是局部变量。 从上图可以看出,成员变量会默认帮你填...

  • 从零开始学C#(一)

    语法1 变量初始化和作用域变量是类或者结构中的字段,创建时默认是0,方法的局部变量必...

  • Java变量初始化之后的默认值问题

    1) 局部变量初始化(局部变量:函数、语句中的变量,只在所属区域内有效) 局部变量声明后,Java虚拟机不会自动给...

  • Java初始化小析

    Java里有局部变量、实例变量、静态变量,它们的初始化表现也不尽相同。下面来总结一下。 局部变量 局部变量应该是最...

网友评论

      本文标题:为什么 Java 中的局部变量必须要初始化?

      本文链接:https://www.haomeiwen.com/subject/tyesohtx.html