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

Java 面向物件核心基礎:類、物件與三大特性詳解

     編輯:Java 綜合教學

Java 面向物件核心基礎:類、物件與三大特性詳解

面向物件程式設計(OOP)是 Java 的靈魂。本文系統梳理類與物件的關係、封裝/繼承/多態三大特性的核心概念、方法與建構子的語法規則、參數傳遞機制、成員與區域變數的區別,並附上程式碼範例,幫助初學者快速建立扎實的 OOP 思維。

1. 類與物件

  • 類(Class):抽象模板,描述一類事物的共同屬性(Attribute)與行為(Method)。例如 Person 類定義姓名、年齡等屬性,以及說話、走路等方法。
  • 物件(Object):類的具體實例,佔有記憶體空間。透過 new Person() 建立物件,每個物件擁有獨立的屬性值。

類的結構:

public class Person {
    // 屬性(成員變數)
    private String name;
    private int age;

    // 方法(行為)
    public void speak() {
        System.out.println("我是 " + name + ",今年 " + age + " 歲。");
    }
}

2. 封裝

將屬性設為 private,對外提供 public 的 getter/setter 方法,控制存取權限,隱藏內部實現細節。

public class Person {
    private String name; // 隱藏屬性

    public String getName() { return name; }
    public void setName(String name) { this.name = name; }
}

3. 繼承

子類透過 extends 關鍵字繼承父類的非私有成員,實現程式碼複用與擴展。

public class Student extends Person {
    private String studentId;

    public void study() { System.out.println(name + " 正在學習。"); }
}

4. 多態

父類引用指向子類物件,執行時動態綁定子類重寫的方法。

Person p = new Student();
p.speak(); // 呼叫 Student 重寫後的 speak()

5. 方法詳解

語法格式

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

注意事項

  1. 方法不能嵌套定義。
  2. 回傳值類型必須與宣告一致。
  3. 方法必須先宣告後呼叫(類內可互相呼叫)。
  4. void 表示無回傳值;return 可提前結束方法。

6. 參數傳遞:形式參數 vs 實際參數

  • 形式參數(形參):方法宣告時括號內的變數,僅在方法執行期間存在。
  • 實際參數(實參):呼叫方法時傳入的實際值或變數。

Java 採用值傳遞:基本類型傳值的副本;引用類型傳引用的副本(指向同一物件)。

7. 成員變數與區域變數

比較項目成員變數區域變數
定義位置類中、方法外方法內、程式碼區塊內
記憶體位置堆記憶體(隨物件)棧記憶體
預設初始值有(0/null/false)無,必須顯式初始化
生命週期隨物件建立/銷毀隨方法進棧/出棧

8. 建構子

專門用於初始化物件,名稱與類同,無回傳類型(連 void 也無)。

public class Person {
    private String name;
    // 無參建構子
    public Person() { this("未知", 0); }
    // 有參建構子
    public Person(String name, int age) {
        this.name = name;
        this.age = age;
    }
}

重點:若類未定義任何建構子,編譯器自動提供無參建構子;一旦自定義建構子,預設無參建構子消失,需手動補齊。

9. 方法多載

同一類中方法名相同、參數列表不同(類型、個數、順序至少一項不同),與修飾符、回傳類型無關。

public class Calculator {
    public int add(int a, int b) { return a + b; }
    public double add(double a, double b) { return a + b; }
    public int add(int a, int b, int c) { return a + b + c; }
}

10. 程式入口 main 方法

public static void main(String[] args) {
    // JVM 啟動時呼叫此方法,作為程式執行起點
    Person p = new Person("小明", 18);
    p.speak();
}

總結

掌握類與物件的關係、封裝/繼承/多態三大特性、方法與建構子語法、參數傳遞機制、變數作用域,即打下 Java OOP 堅實基礎。建議多動手寫代碼,體會「一切皆物件」的設計哲學。

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