첫째, 코드 블록은 무엇인가
자바에서 사용 {} 동봉 된 코드는 코드 블록이라고합니다. 위치에 따라, 지역 코드 블록, 코드 블록, 및 고정 구성 코드 블록으로 분할
-
- 일부 블록은 :; 수명주기 정의 된 변수, 조기 석방, 메모리 활용도를 향상을하는 과정에서 나타납니다
- 구성 코드 블록 (초기화 블록) 클래스 메소드 이외는 함께 저장된 동일한 구성 코드의 다수의 방법이 각각의 호출을 수행하도록 구성되고, 생성자 수행 전에
- 정적 블록 코드 : 클래스 방법 밖에 표시되고 정적 변형을 추가, 클래스 초기화로드 번만 실행될 때, 실행된다.
- 일반적으로로드 드라이버에 사용
. (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 }
이 동작 예 뷰 순서에 따르면, 상위 클래스의 초기화, 정적 영역의 종료 과정에서 다음 서브 초기화, 정적 코드 영역, 그것은 먼저 다른 코드를 실행하기 전에 완료
따라서,이 코드를 실행 한 결과로서 얻을 수있다
정적 코드 블록 상위 클래스는
정적 코드 블록 서브 클래스
구성된 부모 클래스 코드 블록을
상위 클래스 생성자
서브 구성 블록
서브 클래스의 생성자