Computer >> 컴퓨터 >  >> 프로그램 작성 >> Java

메인 메소드 없이 자바 프로그램을 실행할 수 있습니까?

<시간/>

예, 정적 블록을 사용하여 main 메소드 없이 Java 프로그램을 실행할 수 있습니다.

Java의 Static Block은 Java ClassLoader에 의해 클래스가 메모리에 로드될 때 한 번만 실행되는 명령문 그룹으로, 정적 초기화 블록이라고도 합니다. 정적 초기화 블록이 스택 메모리로 직접 이동합니다.

class StaticInitializationBlock{
   static{
      System.out.println("class without a main method");
      System.exit(0);
   }
}

위의 예에서 우리는 메인 메소드 없이 자바 프로그램을 실행할 수 있습니다(Java 1.6 버전까지 작동). Java 7 및 최신 버전에서는 JVM이 클래스를 초기화하기 전에 기본 메서드의 존재를 확인하기 때문에 이를 허용하지 않습니다.

출력

class without a main method.