【发布时间】:2011-06-19 15:12:08
【问题描述】:
我对 Eclipse 中的这个 findbugs 警告有点困惑。
public class MyClass {
public static String myString;
}
public class AnotherClass {
public void doSomething() {
MyClass.myString = "something";
}
}
这给了我一个 findbugs 警告“从实例方法写入静态字段”,但这并没有给我一个警告:
public class MyClass {
public static String myString;
}
public class AnotherClass {
public void doSomething() {
doAnotherThing();
}
public static doAnotherThing() {
MyClass.myString = "something";
}
}
这有什么不同?为什么从实例方法写入静态变量是不好的做法?我认为它与同步有关,但我仍然不清楚。
我知道这看起来应该是最终变量,但我正在从属性文件加载值。
【问题讨论】:
标签: java methods static instance