オブジェクト初期化プロセス

1636 ワード

1、スタックに空間pを開く.2、クラスローダでclasssファイルをロードします.3.クラス内の静的コードブロックを実行する.4、スタックメモリにスペースを開き、メモリアドレスを割り当てる.5、メンバーのデフォルト初期化を実行します.6、構築コードブロックを実行する.7、コンストラクション関数の初期化を実行し、8、スタックメモリのアドレスをアプリケーション変数に割り当てる.
テストして結果を見ることができます
 
public class User implements Serializable {

	private static final long serialVersionUID = 1L;
	private String id;
	private String name;
	private int age;
	{
		System.out.println(" ");
	}

	static {
		System.out.println(" ");
	}

	public User() {
		super();
		System.out.println(" ");
	}

	public User(String id, String name, int age) {
		super();
		this.id = id;
		this.name = name;
		this.age = age;
	}

	public String getId() {
		return id;
	}

	public void setId(String id) {
		this.id = id;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public int getAge() {
		return age;
	}

	public void setAge(int age) {
		this.age = age;
	}

	@Override
	public String toString() {
		return "User [id=" + id + ", name=" + name + ", age=" + age + "]";
	}

	public static void main(String[] args) {
		User u = new User();
		User u1 = new User();
		
	}
}

 
 
結果:
静的コードブロックブロックデフォルトコンストラクタコードブロックデフォルトコンストラクタ