オブジェクト初期化プロセス
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();
}
}
結果:
静的コードブロックブロックデフォルトコンストラクタコードブロックデフォルトコンストラクタ