[Think in java]정적 데이터 초기 화

2176 단어 자바
package com.test.two;

public class Test4 {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		System.out.println("creating new cupboard in main ....");
		new Cupboard();
		System.out.println("creating new cupboard in main....");
		new Cupboard();
		table.f2(1);
		cupboard.f3(2);
	}
	static Table table = new Table();
	static Cupboard cupboard = new Cupboard();

}

class Bowl{
	Bowl(int marker){
		System.out.println("Bowl(" + marker + ")");
	}
	
	void f1(int marker){
		System.out.println("f1(" + marker + ")");
	}
}


class Table{
	static Bowl bowl1 = new Bowl(1);
	Table(){
		System.out.println("Table()");
		bowl2.f1(1);
	}
	
	void f2(int marker){
		System.out.println("f2(" + marker + ")");
	}
	static Bowl bowl2 = new Bowl(2);
}

class Cupboard{
	Bowl bowl3 = new Bowl(3);
	static Bowl bowl4 = new Bowl(4);
	Cupboard(){
		System.out.println("Cupboard()");
		bowl4.f1(2);
	}
	void f3(int marker){
		System.out.println("f3(" + marker + ")");
	}
	static Bowl bowl5 = new Bowl(5);
}

==============output=====================
Bowl(1) Bowl(2) Table() f1(1)Bowl(4) Bowl(5) Bowl(3) Cupboard() f1(2)creating new cupboard in main .... Bowl(3) Cupboard() f1(2) creating new cupboard in main.... Bowl(3) Cupboard() f1(2) f2(1) f3(2)
=================================================
초기 화 순 서 는 먼저 정적 대상 이 고 그 다음 에'비 정적'대상 입 니 다.그리고 정적 대상 은 한 번 만 초기 화 되 고 초기 화 되 지 않 습 니 다.
대상 의 생 성 과정 을 정리 하고 Dog 클래스 라 고 가정 합 니 다.
1.static 키 워드 를 명시 적 으로 사용 하지 않 아 도 구조 기 는 사실상 정적 인 방법 이다.따라서 Dog 형식의 대상 을 처음 만 들 때(구조 기 는 정적 방법 으로 볼 수 있 습 니 다)또는 Dog 류 의 정적 방법/정적 도 메 인 이 처음 방문 되 었 을 때 자바 해석 기 는 클래스 경 로 를 찾 아 Dog.class 파일 을 찾 아야 합 니 다.
2.Dog.class 를 불 러 옵 니 다.정적 초기 화 에 관 한 모든 동작 이 실 행 됩 니 다.따라서 정적 초기 화 는 class 대상 이 처음 불 러 올 때 만 실 행 됩 니 다.
3.new Dog()로 대상 을 만 들 때 먼저 더미 위 에 Dog 대상 에 게 충분 한 저장 공간 을 분배 합 니 다.
4.이 저장 공간 은 삭 제 됩 니 다.Dog 대상 의 모든 기본 형식 데 이 터 를 기본 값 으로 자동 으로 설정 합 니 다.인용 형식 은 null 로 설정 합 니 다.
5.필드 정의 에 나타 나 는 모든 초기 화 동작 을 수행 합 니 다.
6.구조 기 를 실행 합 니 다.

좋은 웹페이지 즐겨찾기