闭关修行中......
오랜 시간 동안 검색했지만 블록의 실행 시간을 찾을 수 없었습니다. 나중에 javap -c를 사용하여 클래스 파일을 확인한 결과 블록이 생성자에 던져졌고 <init> Invokespecial 슈퍼클래스도 그 안에 있었지만 블록 앞에 있었습니다. 이것이 문제를 설명합니다.
우선 javac 명령을 사용하여 Java 클래스를 컴파일한 후 Java 클래스의 초기화 코드 블록이 사라집니다. 초기화 코드 블록의 코드는 각 생성자에 "복원"되어 모든 생성자 앞에 배치됩니다. 생성자의 코드.
기본 과정:
직접 분석해 볼 수 있습니다.
오랜 시간 동안 검색했지만 블록의 실행 시간을 찾을 수 없었습니다. 나중에 javap -c를 사용하여 클래스 파일을 확인한 결과 블록이 생성자에 던져졌고 <init> Invokespecial 슈퍼클래스도 그 안에 있었지만 블록 앞에 있었습니다. 이것이 문제를 설명합니다.
우선 javac 명령을 사용하여 Java 클래스를 컴파일한 후 Java 클래스의 초기화 코드 블록이 사라집니다. 초기화 코드 블록의 코드는 각 생성자에 "복원"되어 모든 생성자 앞에 배치됩니다. 생성자의 코드.
기본 과정:
으아아아직접 분석해 볼 수 있습니다.