나는 이클립스에서이 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";
}
}
을이 어떤 다른?, 왜 쓰고있다 인스턴스 메서드에서 정적 변수에 나쁜 연습?, 나는 그것이 동기화와 관련이 있다고 가정하지만 여전히 나에게 분명하지 않다.
변수가 final이어야하는 것으로 알고 있지만 속성 파일에서 값을로드하고 있습니다.
저는 동기가 아니라 정적 원리인지 여부에 관계없이 문제의 근본적인 근거로서 이해와 명확성에 중점을 두는 것을 좋아합니다. –
@ 스티브 - 감사합니다. –