本文系統整理 Java 面向物件程式設計(OOP)的核心語法知識點,適合初學者快速建立知識框架,也可作為開發者的隨查手冊。
class,類名首字母大寫,檔名需與 public 類名一致。new 實例化:Student s = new Student();訪問修飾符 返回類型 方法名(參數列表) {
方法體;
}
new 呼叫private 修飾屬性,提供 public getter/setterextends,單根繼承(一個子類只能繼承一個父類)instanceof 判斷| 關鍵字 | 用途與規則 |
|---|---|
this | 指當前執行實例。用於:this.屬性、this() 呼叫其他建構子(必須首行)。靜態方法與 main 中不可用。 |
super | 指父類。super.屬性/方法、super() 呼叫父類建構子(必須首行)。 |
final | 修飾類(不可繼承)、方法(不可重寫)、變數(常數,必須賦值)、屬性(可在宣告/程式碼區塊/靜態區塊賦值)。 |
static | 屬於類不屬於實例。靜態變數、靜態方法、靜態區塊(類載入時執行一次)。 |
abstract | 抽象類(可有抽象方法與具體方法、建構子,不可實例化)、抽象方法(無實作,子類必須實作)。 |
interface | 純抽象類型。屬性預設 public static final,方法預設 public abstract。類用 implements 實作,可多實作。JDK 8+ 支援 default/static 方法。 |
靜態區塊只執行一次!
public:所有類protected:本類、同包、子類default(包私有):本類、同包private:僅本類getClass()、notify()、notifyAll()、wait()toString()、equals()、hashCode()、clone()、finalize()@Override
public String toString() {
return "名字:" + name + "\n年齡:" + age;
}
// 輸出:名字:大黃
// 年齡:300
x.equals(x) == truex.equals(y) == y.equals(x)x.equals(y) && y.equals(z) => x.equals(z)x.equals(null) == falseabstract class + extends vs interface + implementsprivate + getter/setter → 安全extends → 重用、維護性作者備註:整理此筆記從早十點弄到晚上十點,中間只吃飯沒停過。雖累但收穫滿滿!持續修正補充中…