>  기사  >  Java  >  Java의 정적 코드 블록 실행에 대한 간략한 소개

Java의 정적 코드 블록 실행에 대한 간략한 소개

黄舟
黄舟원래의
2017-09-21 10:29:191509검색

이 글에서는 주로 Java에서 정적 코드 블록 실행에 대한 관련 정보를 소개합니다. 이 글에서는 샘플 코드를 통해 이를 매우 자세하게 소개합니다. 이 글은 필요한 모든 사람이 지침을 따르도록 학습할 수 있는 참고 자료입니다. 아래에서 함께 배워봅시다.

머리말

일반적으로 프로젝트가 시작될 때 일부 코드를 실행해야 하는 경우 이러한 종류의 코드는 프로젝트가 시작될 때 초기화되어야 합니다. 객체이므로 다른 프로그램에서 호출할 때 정적 메서드를 사용해야 합니다. 이러한 종류의 코드는 클래스가 로드될 때 이미 로드되어 있으며 클래스 이름을 사용하여 직접 호출할 수 있습니다.

예를 들어, 메인 메소드는 프로그램 진입점인 정적이어야 합니다.

둘의 차이점은 다음과 같습니다.

  • 정적 코드 블록은 자동으로 실행됩니다.

  • 정적 메소드는 다음과 같은 경우에만 실행됩니다.

Questions and Summary

정적 코드 블록에 대한 내용은 사실 면접 때 자주 묻는 질문인데, 인터뷰할 때 물어보면 알겠지만, 그래도 사용하다 보면 작은 구덩이를 밟았습니다. 클래스의 정적 변수를 호출하여 정적 코드 블록 호출을 트리거하고 싶지만 성공하지 못했습니다.

정적 코드 블록이 실행될 수 있는 조건을 요약합니다.

객체를 처음으로 초기화합니다.

정적 메서드를 처음 호출하는 경우

아래에서 정적 변수를 처음 호출하는 경우 static code block


   public class ConfigHandler {
     public static p1 = “p1”;

     static{
      System.out.println("this is a static code block");
     }

     public static p2 = “p2”;
     public static p3 ;

     public static init(){}
   }

static System.out.println("this is a static code block");은 다음과 같이 실행될 수 있습니다: System.out.println("this is a static code block");可以执行的情况如下:

  • new ConfigHandler();

  • System.out.println(ConfigHandler.p2);

  • System.out.println(ConfigHandler.p3)

  • ConfigHandler.init();

new ConfigHandler( );

System.out.println(ConfigHandler.p2);

System.out.println(ConfigHandler.p3)🎜 🎜🎜🎜ConfigHandler.init(); //코드 내 임의의 위치에 p1이 출력되면 정적 코드 블록, 즉 정적 코드 앞의 정적 변수가 실행되지 않습니다. 블록이 호출되고 정적 코드 블록은 실행되지 않습니다. 🎜🎜🎜🎜요약🎜🎜🎜

위 내용은 Java의 정적 코드 블록 실행에 대한 간략한 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.