이 글에서는 주로 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!