所以我知道如何引用来自不同类的变量,但我想知道是否值得我创建一个 Vars.class 来容纳我所有的全局变量。
如果我需要在以后更改它们,这会让我更容易,但是,我想知道这是否是一个速度明智的坏主意?引用来自不同类的 var 是否需要更长的时间?
谢谢
编辑:当我说“全局变量”时,我的意思是“全局常量”。为困惑道歉。我希望它们可以从其他类中引用,但不会即时更改。
变量.java
package test;
public class Vars
{
static int variable1 = 16;
static int variable2 = 32;
}
启动.java
package test;
public class Start
{
public Start()
{
int i = Vars.variable1;
}
}
最佳答案
So I know how to reference variables from different classes, but I'm wondering if it's worth me creating a Vars.class to house all my global vars.
没有。值得一开始就避免使用全局变量。变量应该代表特定对象的状态 - 因此根据有用对象的合理边界对变量进行分组,然后确保每个对象都知道它需要依赖的任何其他对象。
如果您要抛弃面向对象,那么使用面向对象的语言就毫无意义。
在非常短期内,花时间在您的应用程序中确定适当的类型无疑比仅使用全局变量要慢......但它会让您的代码更容易维护和测试。
至于性能:您担心这个太多还为时过早。变量的访问时间几乎永远不会对性能产生重大影响。以最简单可行的方式设计您的代码。确定性能指标和验收标准。查看您的代码是否已经满足这些条件。如果没有,请找出原因并进行最彻底的更改以提高性能(始终进行测量)。
此外,变量本身几乎应该始终是私有(private)的:存储是一个实现决定;考虑如何以及是否通过方法公开状态。
关于java - java中的变量类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12620410/