2016-07-20 2 views
0

정적 메서드에 상태가 없어야합니다. 여기서 '국가'는 무엇을 의미합니까?정적 메소드에서 무국적자 란 무엇을 의미합니까?

정적 메소드를 인스턴스화 할 필요가 없으며 인스턴스 변수를 사용하지 않는다는 것을 읽었습니다. 언제 정적 메서드를 사용할 수 있습니까? 정적 메소드가 좋지 않다는 것을 읽었습니까? 코딩 할 때 포함시켜야합니까?

답변

0

상태는 정적 메서드를 호출하기 위해 인스턴스가 필요 없도록 클래스가로드 될 때 정적 메서드가로드된다는 것을 의미합니다. 클래스의 이름을 사용하여이 메서드를 호출 할 수 있으며 정적 인 경우에는 조건에 따라 다릅니다. 행동 양식. 제품의 단일 구성 요소로서 매개 변수를 전달하고 작업을 완료하기 만하면 정적 방법을 사용할 수 있습니다. 여기에 대한 답으로

0

은 예입니다 : 스스로

public class SomeUtilityClass { 
    private static boolean state = false; 
    public static void callMeTwiceImBad() throws Exception { 
    if (state) { 
     throw new Exception("I remember my state from previous call!"); 
    } 
    state = true; 
    } 
    public static int sum(int a, int b) { 
    return a + b; 
    } 
} 

그들이 나쁜도 좋은도, 그들은 단지 정적이다.

관련 문제