클래스 코드의 블록의 실행 순서

첫째, 코드 블록은 무엇인가

  자바에서 사용 {} 동봉 된 코드는 코드 블록이라고합니다. 위치에 따라, 지역 코드 블록, 코드 블록, 및 고정 구성 코드 블록으로 분할

    • 일부 블록은 :; 수명주기 정의 된 변수, 조기 석방, 메모리 활용도를 향상을하는 과정에서 나타납니다
    • 구성 코드 블록 (초기화 블록) 클래스 메소드 이외는 함께 저장된 동일한 구성 코드의 다수의 방법이 각각의 호출을 수행하도록 구성되고, 생성자 수행 전에
    • 정적 블록 코드 : 클래스 방법 밖에 표시되고 정적 변형을 추가, 클래스 초기화로드 번만 실행될 때, 실행된다.
    • 일반적으로로드 드라이버에 사용
. (1 개)  패키지 Day01;
 2  
. 3  공용  클래스 에서 Test1 {
 4.  
5.      공공  정적  무효 메인 (문자열 []에 args) {
 6.          닫아 = ZI 및 새로운 신규 닫아 ()
 . 7      }
 8.  }
 9.  
10  클래스 푸 {
 11.      정적 {
 12이다          에서 System.out.println ( "코드의 부모 정적 블록" );
 13이다      }
 14      {
 15          에서 System.out.println ( "부모 구성 코드 블록들" )
 (16)      }
 . 17      공개 푸 () {
 18은         에서 System.out.println ( "부모 클래스 생성자" )
 . (19)      }
 (20)이다  }
 (21) 인  
22은  클래스 닫아 연장 {푸
 23은      정적 {
 24          에서 System.out.println는 ( "코드를 서브 클래스의 스태틱 블록" )
 (25)      }
 (26)가      공개 닫아 ( ) {
 27          에서 System.out.println ( "하위 클래스 생성자" );
 28      }
 29      {
 30          에서 System.out.println ( "서브 클래스 코드 블록 구조" );
 31      }
 32 }

이 동작 예 뷰 순서에 따르면, 상위 클래스의 초기화, 정적 영역의 종료 과정에서 다음 서브 초기화, 정적 코드 영역, 그것은 먼저 다른 코드를 실행하기 전에 완료

따라서,이 코드를 실행 한 결과로서 얻을 수있다

정적 코드 블록 상위 클래스는
정적 코드 블록 서브 클래스
구성된 부모 클래스 코드 블록을
상위 클래스 생성자
서브 구성 블록
서브 클래스의 생성자

추천

출처www.cnblogs.com/haoyujun135/p/11328491.html