문제

이게 뭔가요?

public class ABC {
   public ABC() {
         System.out.println("world");
   }
   static {
         System.out.println("hello");
   }
}

인쇄 : 안녕하세요 월드

나는 이것을 실제로 이해하지 못하거나 정적 코드가 어떤 종류의 방법인지 이해하지 못합니다.

도움이 되었습니까?

해결책

이를 "정적 초기화 블록"이라고합니다.

클래스가 처음로드되면 실행됩니다. 한 번만.

예를 들어, 클래스가 인스턴스화 될 때마다 생성자가 실행됩니다. 정적 블록은 VM/클래스 로더에 의해 정적으로로드 된 경우 한 번만 실행됩니다.

다른 팁

클래스 로더가 클래스를로드 할 때마다 정적 블록이 정확히 한 번 정확하게 실행될 가치가 있다고 생각합니다. 이는 둘 이상의 클래스 로더가있는 경우 블록이 두 번 이상 실행될 수 있음을 의미합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top