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

Java 類進階:構造方法詳解與面向對象建模實戰

     編輯:Java 相關知識

構造方法:初始化的專屬語法

構造方法是初學者最易混淆的概念之一。首先釐清:**構造方法與普通方法無任何關係**,僅因翻譯名稱相似。兩者功能、聲明、調用語法全然不同:

  • 構造方法:語法結構,專門初始化類類型變量(對象)
  • 普通方法:邏輯功能,實現業務算法

語法格式

訪問控制符 構造方法名(參數列表) {
    構造方法體;
}

硬性規定:構造方法名**必須與類名相同**。

代碼示例:Box 類的多構造方法

public class Box {
    int length, width, height;
    
    public Box() {                    // 無參構造
        length = width = height = 10;
    }
    
    public Box(int l, int w, int h) { // 有參構造
        length = l; width = w; height = h;
    }
}
  • 構造方法通常置於屬性聲明與方法聲明之間
  • 一個類可擁有任意多個構造方法,但**參數列表不能相同**(構成重載)
  • 參數名稱可不同,但類型、個數、順序相同視為同一方法

默認構造方法機制

若類中**未聲明任何構造方法**,系統自動生成無參、無修飾符的默認構造方法:

public ClassName() {}

以下兩段代碼等價:

public class DefaultConstructor { int a; }
// 等同於
public class DefaultConstructor { 
    int a; 
    public DefaultConstructor() {} 
}

一旦自定義構造方法,系統不再生成默認構造。

面向對象建模實戰:房屋結構描述

需求:用面向對象描述房屋結構(顏色用數字代碼:紅=1、白=2、黃=3、透明=0)

  • 門:紅色、可推開/關閉
  • 窗:白色、含玻璃(透明、可卸下)、可推開/關閉
  • 地:100 塊地板磚
  • 地板磚:黃色、1m×1m

建模思路

  1. 名詞→類:門、窗、玻璃、地、地板磚(共 5 個類)
  2. 特征→屬性:顏色等
  3. 功能→方法:open/close/remove 等
  4. 構造方法初始化屬性
  5. 類間關係:地包含地板磚數組,窗包含玻璃——體現「使用關係」

完整代碼實現

// Door.java
public class Door {
    int color;
    public Door() { color = 1; }
    public void open() {}
    public void close() {}
}

// Window.java
public class Window {
    int color;
    Glass glass;              // 使用關係:窗包含玻璃
    public Window() { color = 2; }
    public void open() {}
    public void close() {}
}

// Glass.java
public class Glass {
    int color;
    public Glass() { color = 0; }
    public void remove() {}
}

// Floor.java
public class Floor {
    FloorBrick[] fb;
    public Floor() {
        fb = new FloorBrick[100];
        for (int i = 0; i < fb.length; i++) fb[i] = new FloorBrick();
    }
}

// FloorBrick.java
public class FloorBrick {
    int color, length, width;
    public FloorBrick() { color = 3; length = 1; width = 1; }
}

此例展示了從需求分析到代碼落地的完整面向對象建模過程,是掌握 OOP 核心技能的關鍵練習。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved