首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 綜合教學

Java 面向對象核心:類與對象的定義、實例化與內存模型

     編輯:Java 綜合教學

類 vs 對象:模板與實例

類是抽象模板,定義屬性(字段)與行為(方法);對象是具體實例,佔用堆內存存儲屬性值。

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("汪汪"); }
}

對象創建三步驟

  1. 聲明:Dog myDog; — 棧內存分配引用變量。
  2. 實例化:new Dog() — 堆內存分配對象,返回地址。
  3. 初始化:調用構造方法賦值 — 將地址賦給引用變量。
Dog myDog = new Dog("花花", 3);  // 完成上述三步
myDog.bark();  // 通過引用調用方法

構造方法重載與 this

  • 同類多構造參數列表不同即構成重載。
  • this(name, age) 調用本類其他構造,必須置於首行。
  • this.field 區分同名參數;this.method() 調用實例方法。

棧內存與堆內存交互圖解

內存模型圖

引用變量在棧,對象實體在堆,通過地址關聯。方法調用棧幀存局部變量與引用,方法結束棧幀彈出,對象若無引用則待 GC 回收。

訪問實例成員

Dog d = new Dog("旺財", 2);
System.out.println(d.name);  // 訪問屬性
d.bark();                    // 訪問方法
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved