【问题标题】:Benefits of making variables local as opposed to global将变量设置为局部变量而不是全局变量的好处
【发布时间】:2020-06-19 08:23:45
【问题描述】:

在我当前的程序中,我在开始时声明了一些变量,例如:

private static final double imageSize

这个变量没有改变,只在一个方法中使用,所以我的 IDE 告诉我让它成为一个局部变量。这样做有什么好处?我在测试时会定期更改变量,所以可以将其保留在原处吗?

【问题讨论】:

  • 在哪里初始化?你能做到吗final
  • 这是最终版,抱歉我忘了补充。它当前在您创建类时在类的 main 方法之外进行初始化。

标签: java variables global-variables local-variables


【解决方案1】:

从逻辑上讲,让它在原处是可以的。此外,当您自己更改值时,将其保持在顶部会使其更具可读性。

IDE 建议将其保留在方法的本地,因为建议将变量的可见性和生命周期保持在尽可能小的范围内。通过将其保留在类级别,您的变量会在类被加载时一直存在,即使使用它的方法结束了它的执行。

【讨论】:

    【解决方案2】:

    局部变量只有一个好处:当您编写这个 viarable od 时,只对这个本地代码(例如方法)负责。 当您有一个大项目和 100 个变量时,使用局部变量非常有用。 但是在您的情况下:最好将全局静态变量分配给程序中不变的事物。当您需要时,您将能够轻松找到此变量。例如,在 5 年后,显示器将有 10 米,您将希望更改图像的大小。

    【讨论】:

      【解决方案3】:

      另外回答Jacek。你的变量看起来像常数。 根据Java code convention for constant variables (final) 你应该使用大写:

      private static final double IMAGE_SIZE
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-12-30
        • 2023-01-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-07-24
        • 2017-11-08
        相关资源
        最近更新 更多