
JVM 內存四大區:方法區(靜態數據區)、棧、堆、常量池。
.class,類加載器將類元數據(字段、方法、常量池)載入方法區;main 線程啟動,主棧幀入棧;new Animal(10):在堆分配對象內存,執行構造器初始化字段;a(引用);m_1(a):新棧幀入棧,引用值傳遞,指向同一堆對象;a.age++ 影響堆對象,返回後 main 打印見修改結果。public class OOP_05 {
public static void main(String[] args) {
Animal a = new Animal(10);
m_1(a);
System.out.println("main----->" + a.age); // 11
System.out.println(a);
}
public static void m_1(Animal a) {
a.age++;
System.out.println("m_1 --->" + a.age); // 11
}
}
class Animal { int age; Animal(int _age){ age = _age; } }
