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

Java 成員方法與構造方法詳解:定義、訪問、封裝最佳實踐

     編輯:Java 綜合教學

成員方法結構


[修飾符] 返回類型 方法名([參數列表]) {
    // 方法體
    return 值; // void 可省略
}

修飾符:public/private/protected (訪問控制)、static (類方法)、final (不可覆寫)、synchronized (線程同步)、native (本地方法)。

方法分類與訪問方式

類型關鍵字訪問語法典型用途
實例方法無 staticobj.method(args)操作對象狀態
類方法 (靜態)staticClassName.method(args)工具方法、工廠方法

封裝模式:私有屬性 + 公有 Getter/Setter


public class Person {
    private String name; // 隱藏實現
    private int age;

    // Getter
    public String getName() { return name; }
    public int getAge() { return age; }

    // Setter (可加驗證邏輯)
    public void setName(String name) {
        if (name != null && !name.trim().isEmpty())
            this.name = name;
    }
    public void setAge(int age) {
        if (age >= 0 && age <= 150) this.age = age;
    }
}

優點:控制數據合法性、隱藏內部表示、便於後續添加邏輯 (如延遲加載、事件通知)。

構造方法

  • 同類名、無返回類型、不可繼承、可重載。
  • 無顯式構造器時編譯器生成無參默認構造器;一旦定義任何構造器,默認構造器消失。
  • this(...) 調用本類其他構造器 (必須為首行);super(...) 調用父類構造器 (子類構造器首行隱式調用 super())。

示例:構造器鏈與初始化塊


public class Demo {
    private int x;
    { System.out.println("實例初始化塊"); } // 每次 new 都執行
    static { System.out.println("靜態初始化塊"); } // 類加載時執行一次

    public Demo() { this(0); System.out.println("無參構造"); }
    public Demo(int x) { this.x = x; System.out.println("有參構造 x=" + x); }
}

最佳實踐清單

  1. 屬性默認 private,按需暴露 Getter/Setter。
  2. 方法名動詞開頭,駝峰命名 (calculateTotal)。
  3. 參數校驗前置 (Guard Clauses),減少嵌套。
  4. 慎用 static 方法,避免狀態耦合,難以測試。
  5. 構造器保證對象創建後處於合法狀態 (建構者模式應對複雜構造)。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved