類結構定義
public class Dog {
String name; // 實例變量
int age;
// 無參構造
public Dog() { System.out.println("無參構造"); }
// 有參構造
public Dog(String name, int age) {
this.name = name;
this.age = age;
System.out.println("有參構造");
}
void bark() { System.out.println("汪汪"); }
void hungry() { System.out.println("主人,我餓了"); }
}
對象創建內存圖解

- 棧:存局部引用變量
myDog,生命周期隨方法結束銷毀。
- 堆:存
new Dog() 創建的對象實體(屬性值、方法指針),由 GC 管理。
- 關聯:賦值語句將堆地址寫入棧引用。
構造方法細節
- 名稱與類同,無返回值(連 void 都不能寫)。
- 未顯式定義時編譯器自動生成無參構造;一旦定義任意構造,默認構造消失。
- 可重載,
this(...) 調用同類其他構造必須首行。
訪問成員
Dog myDog = new Dog("花花", 3);
System.out.println(myDog.name); // 訪問屬性
myDog.bark(); // 訪問方法
this 關鍵字三大用法
this.field:區分同名參數。
this.method():調用實例方法。
this(...):構造器鏈調用。
