이 글은 기계 번역의 미러 문서이며, 원본 기사로 바로 이동하려면 여기를 클릭해 주세요.

보기: 19118|회답: 2

[출처] 클래스 내 정적, 비정적, 구성적 메서드의 실행 순서 요약

[링크 복사]
게시됨 2017. 4. 6. 오후 3:12:32 | | | |
1 /*

2 * 여러 원칙

3 * 1. 정적 멤버 변수

4 * 1. 정적 멤버 변수는 클래스 변수이며, 모든 객체는 동일한 메모리 공간을 공유합니다

5 * 2. 정적 멤버 변수의 선언과 정의는 클래스가 처음 로드될 때 단 한 번만 실행됩니다

6 * 3. 클래스를 처음 로드할 때, 먼저 타입에 따라 모든 정적 멤버 변수에 초기 값을 할당하고, r값이 있는 변수에 오른쪽 값을 붙입니다

7 * 2. 정적 초기 블록

8 * 1. 정적 초기화 블록은 클래스가 처음 로드될 때 한 번만 실행됩니다

9          * ······ 여러 정적 멤버 변수와 정적 시작, 빠른 참조 발생 순서가 순차적으로 실행됩니다······

10 * 3. 동적 멤버 변수

11 * 1. 동적 멤버 변수의 정의는 객체가 인스턴스화될 때마다 생성자 이전에 실행됩니다

12 * 4. 동적 초기화 블록

13*1. 동적 초기화 블록은 객체가 인스턴스화될 때마다 생성자 이전에 실행됩니다

14          * ······ 여러 동적 멤버 변수와 동적 초기화 블록은 나타나는 순서대로 실행됩니다······

15 * 요약: 일반적으로 클래스가 처음 로드될 때는 상속 없이 다음 순서로 실행됩니다

16 * 1. 정적 멤버 변수 정의와 정적 초기화 블록을 발생 순서대로 실행

17 * 2. 동적 멤버 변수 정의와 동적 초기화 블록을 발생 순서대로 실행합니다

18 * 3. 건설자 실행

19 * 객체를 다시 인스턴스화할 때는 2단계와 3단계만 실행할 수 있습니다

20          *  

21          * ············ 멤버 변수와 정의, 초기화 블록은 생성자 이전에 실행됩니다·········

22 * 5. 상속이 관련된 경우, 다음 순서로 이루어진다

23 * 1. 부모 클래스의 정적 멤버 변수 정의와 정적 초기화 블록을 실행하고, 서브클래스의 정적 멤버 변수 정의와 정적 초기화 블록을 실행합니다

24 * 2. 부모 클래스의 비정적 멤버 변수 정의와 동적 초기화 블록을 실행하고, 부모 클래스 구성 메서드를 수행합니다

25 * 3. 서브클래스의 비정적 멤버 변수 정의를 실행하고 블록을 동적으로 초기화하며, 서브클래스 구성 메서드를 실행합니다

26 * 또한: 부모 클래스 구성 메서드에 사용된 메서드가 서브클래스에 의해 다시 작성된 경우, 서브클래스 객체를 구성할 때 부모 클래스 생성자를 호출할 때 서브클래스 rewrite 메서드가 사용됩니다





이전의:.ctor와 .net의 .cctor
다음:NHIBERNATE 네이티브 주 키 생성 정책
 집주인| 게시됨 2017. 4. 6. 오후 3:17:20 |


클래스를 처음 로드할 때는 먼저 타입에 따라 모든 정적 멤버 변수에 초기 값을 할당한 후, 올바른 값으로 연결된 오른쪽 값에 대해 여러 개의 정적 멤버 변수를 연속으로 실행하세요
면책 조항:
Code Farmer Network에서 발행하는 모든 소프트웨어, 프로그래밍 자료 또는 기사는 학습 및 연구 목적으로만 사용됩니다; 위 내용은 상업적 또는 불법적인 목적으로 사용되지 않으며, 그렇지 않으면 모든 책임이 사용자에게 부담됩니다. 이 사이트의 정보는 인터넷에서 가져온 것이며, 저작권 분쟁은 이 사이트와는 관련이 없습니다. 위 내용은 다운로드 후 24시간 이내에 컴퓨터에서 완전히 삭제해야 합니다. 프로그램이 마음에 드신다면, 진짜 소프트웨어를 지원하고, 등록을 구매하며, 더 나은 진짜 서비스를 받아주세요. 침해가 있을 경우 이메일로 연락해 주시기 바랍니다.

Mail To:help@itsvse.com