【问题标题】:what is the benefit of using local variable in program in java? [closed]在java程序中使用局部变量有什么好处? [关闭]
【发布时间】:2020-10-25 13:43:04
【问题描述】:

我通过下面的代码给出了java中局部变量的例子。

class Sum
{
    int a=7,b=3;//instance variable

    public void add()
    {
        int c;//local variable
        c=a+b;
        System.out.println(c);
    }
    public static void main()
    {
        Sum obj = new Sum();
        obj.add();
    }
}

但是在解释有人问我的代码时,在上面的代码中,您可以将变量 c 声明为实例变量,也可以像声明 ab 变量一样。 当时我没有答案。谁能向我解释在 java 中使用局部变量有什么好处?

【问题讨论】:

  • 您应该在需要它们的范围内声明变量(包括它们的整个生命周期)。如果一个变量只在一个方法中需要,那么就让它成为一个局部变量。
  • 好处是你不会不必要地污染更大的命名空间,或者更大的执行上下文。变量应在尽可能小的封闭范围内声明。

标签: java function


【解决方案1】:

您当然可以将c 定义为实例变量,但只有在有意义的情况下才应该这样做。

实例变量表示实例的状态(即对象的状态)。只要实例存在,它们的值就应该可用。

局部变量本质上是临时的,在声明它们的方法返回后不再需要它们的值。

类中的实例变量越少,需要的存储空间就越少,而且代码更容易理解。

例如,如果您将c 更改为实例变量,那么试图理解您的代码的人将不得不搜索您的整个类(可能还有子类)才能理解更改值的含义c(即它将如何影响其他方法和子类)。 另一方面,当c 是本地时,只需阅读它出现的单个方法即可完全理解其用途。

【讨论】:

  • 很好的解释!我开始写然后读你的然后认为你的更好:)
  • @Eran 请告诉我这个关键字有什么好处。我知道 this 关键字可用于引用当前类实例变量。但是为什么我们使用同名的参数和实例变量
猜你喜欢
  • 1970-01-01
  • 2018-02-20
  • 1970-01-01
  • 2013-02-06
  • 2011-03-14
  • 2013-09-27
  • 2012-07-17
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多