Java 静态变量 - Foo.var = value 和 var = value 之间的区别?

标签 java static thread-safety

在 Java 中,我在类中有一个静态变量。

public class Foo {

    private static Object var;
    ...

    public void setVar(Object newValue) {
        Foo.var = newValue;
        //Or:
        var = newValue;
    }

在我更改变量值的方法(非静态)中,使用之间的区别是什么:

Foo.var = newValue;

还有:

var = newValue;

代码位于线程环境中,我想这就是它会产生影响的地方。

最佳答案

假设您的代码确实位于 Foo 类中,则 varFoo.var 的含义完全相同。事实上,一些 IDE 会警告您在 var 前添加 Foo。 是多余的。

关于Java 静态变量 - Foo.var = value 和 var = value 之间的区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31752806/

相关文章:

java - 使用 Mockito 在 Spring 进行单元测试

java - 在 Web 应用程序中显示 Excel 工作表 - Java EE

javascript - ecmascript 6 如何通过反射调用静态类方法

c# - ConcurrentDictionary 和 Clear() 函数。使值导出线程安全而不会丢失数据

java - Jenkins 钩子(Hook)不工作 - Jenkins bitbucket

java - spring 验证中的 jsr-303 在没有默认组的情况下验证

C#启动一个静态线程

c++ - 在派生类中分配时,基类中的静态成员为空

c++ - MFC GUI 应用程序重写 - 线程、消息传递、文档/ View 等。需要建议

multithreading - Spring 批处理 : problems (mix data) when converting to multithread