【问题标题】:Default values of local variables [duplicate]局部变量的默认值 [重复]
【发布时间】:2013-08-18 15:11:35
【问题描述】:

在 Java 中,为什么类变量会被初始化为默认值?但局部变量不是。

【问题讨论】:

  • 为了防止你犯错。
  • 明确地说——局部变量在使用之前总是被赋予一个明确的值。不需要默认值。
  • 查看question
  • @AndyThomas 您可以为实例变量提出相同的论点,“需要”(或缺乏)id 可以说是相同的。
  • @DaveNewton - 除了明确的赋值约束不适用于非最终实例变量。

标签: java variables


【解决方案1】:

局部变量不像类变量那样初始化为默认值。这同样适用于基元和对象引用。

JavaDoc(第 4.12.5 节。变量的初始值):

在使用局部变量之前,必须通过初始化或赋值来显式地赋予一个值,这种方式可以使用明确赋值的规则进行验证。

【讨论】:

  • 他知道这一点;问题是为什么。
  • 它是Java的设计。如果我们可以更改 Java 架构,而我们不能,那么我们可以更改局部变量以初始化为默认值。
  • -1:根本不回答问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-05-22
  • 1970-01-01
  • 2016-11-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-01-19
相关资源
最近更新 更多