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

Java 教學(一):類別結構三大核心組成

     編輯:Java 相關知識

類別是 Java 程式的基本單位

Java 應用程式 = 無數個類別的組合。理解類別結構是入門第一步。

三大核心組成

  1. 資料成員 — 屬性/狀態
  2. 建構子 — 物件初始化
  3. 方法成員 — 行為/操作

完整範例:Customer 類別

package com.csst.vo;

public class Customer {
    // 1. 資料成員 (私有封裝)
    private String custName;
    private String password;
    private Integer age;

    // 2. 建構子 (多載)
    public Customer() {} // 無參建構子

    public Customer(String custName, String password) {
        this.custName = custName;
        this.password = password;
    }

    public Customer(String custName, String password, Integer age) {
        this(custName, password); // 呼叫另一建構子
        this.age = age;
    }

    // 3. 方法成員 (Getter/Setter)
    public String getCustName() { return custName; }
    public void setCustName(String custName) { this.custName = custName; }

    public String getPassword() { return password; }
    public void setPassword(String password) { this.password = password; }

    public Integer getAge() { return age; }
    public void setAge(Integer age) { this.age = age; }
}

詳細解析

1. 資料成員

  • 權限修飾詞:private 封裝,對外僅透過方法存取。
  • 資料型別:基本型別 (int) 或參考型別 (String, Integer)。
  • 命名規範:名詞、駝峰式、語意清晰。
  • 初始值:可不指定,自動獲預設值 (null/0/false)。

2. 建構子

  • 同名類別、無回傳型別(連 void 都不寫)。
  • 用途:new Customer("Tom", "123") 配置初始狀態。
  • 若未自訂任何建構子,編譯器自動產生無參預設建構子;一旦自訂,預設建構子消失(需手寫保留)。
  • this(...) 鏈式呼叫其他建構子,減少重複程式碼。

3. 方法成員

  • 權限:public 提供對外服務。
  • 回傳型別:具體型別或 void。
  • 命名規範:動詞開頭、駝峰式(getXxx, setXxx, calculateTotal)。
  • 參數列表:零或多個 型別 參數名。

物件建立與使用

Customer c1 = new Customer();                    // 呼叫無參建構子
Customer c2 = new Customer("Alice", "pwd123");   // 呼叫兩參建構子
Customer c3 = new Customer("Bob", "pwd456", 25); // 呼叫三參建構子

c1.setCustName("Charlie");
System.out.println(c2.getCustName()); // Alice

記憶體模型圖解

Stack (main)                    Heap
┌──────────────────┐           ┌──────────────────────┐
│ c1 ──────────────┼──────────►│ Customer object      │
│ c2 ──────────────┼──────────►│ custName = "Alice"   │
│ c3 ──────────────┼──────────►│ password = "pwd123"  │
└──────────────────┘           │ age = null           │
                               └──────────────────────┘

常見新手錯誤

錯誤說明
建構子寫了 void建構子不能有回傳型別
忘記 this. 導致參數遮蔽欄位this.custName = custName;
直接存取 private 欄位必須透過 getter/setter
類別名稱不符合 PascalCase類別名首字母大寫:Customer 非 customer

結語

「資料成員描述是什麼,建構子決定如何出生,方法成員定義能做什麼」。掌握這三大組成,並養成封裝與命名好習慣,即踏入 Java 物件導向大門。

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