2012-07-05 2 views
1

가능한 중복 : 내가 본 적이 "정적"메서드 서명 만 작동합니까?


Static initializer in Java

내가 자바 몇 년 경험을 가지고,하지만 난 최근에 뭔가에 걸쳐 실행했습니다 전에 :

public class Project{ 
... 
static{ 
    initDataTypeMapping(); 
} 
... 
} 

이 메소드 서명은 어떻게 작동합니까? 사실 이것은 기술적으로도 방법일까요? 왜 단순히 사람이 메서드 호출을 initDataTypeMapping() 생성자에 넣지 않을지 궁금하네요. 그냥 내 이해를 높이려고 노력 했으니 까 뭔가를 망쳐 놓지 않았어. 감사!

답변

6

이것은 static initializer으로 알려져 있습니다.

블록이 클래스 로더에 의해 처음로드 될 때 실행됩니다 스레드로부터 안전한 방식으로.

this question도 참조하십시오.

+0

코드는 한 번만 실행됩니다. 맞습니까? 코드가 처음 참조 될 때? – FreakinOutMan

관련 문제