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

Java의 생성자와 관련하여 비정적 블록의 실행 순서는 무엇입니까?

<시간/>

개체가 생성될 때마다 비정적 차단 생성자를 실행하기 전에 실행됩니다.

비정적 블록

  • 비정적 차단 클래스 수준입니다. 프로토타입이 없는 블록
  • 비정적 차단의 필요성 생성자와 상관없이 객체가 생성될 때마다 모든 논리를 실행하는 것입니다. .
  • 비정적 차단 JVM 에 의해 자동으로 호출됩니다. 자바 스택 영역에서 모든 객체 생성에 대해 .
  • 비정적 블록을 원하는 만큼 생성할 수 있습니다. n 자바.
  • 실행 순서 비정적 차단 정의된 순서입니다. .

예시

public class NonStaticBlockTest {
   {
      System.out.println("First Non-Static Block"); // first non-static block
   }
   {
      System.out.println("Second Non-Static Block"); // second non-static block
   }
   {
      System.out.println("Third Non-Static Block"); // third non-static block
   }
   NonStaticBlockTest() {
      System.out.println("Execution of a Constructor"); // Constructor
   }
   public static void main(String args[]) {
      NonStaticBlockTest nsbt1 = new NonStaticBlockTest();
      NonStaticBlockTest nsbt2 = new NonStaticBlockTest();
   }
}

출력

First Non-Static Block
Second Non-Static Block
Third Non-Static Block
Execution of a Constructor
First Non-Static Block
Second Non-Static Block
Third Non-Static Block
Execution of a Constructor