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

Java 面向物件程式設計核心知識點總結

     編輯:Java 相關知識

四大基礎特性

  • 抽象:忽略非本質細節,關注核心屬性與行為
  • 封裝:資料與方法綁定,隱藏內部實作細節
  • 繼承:子類別復用父類別功能,建立 IS-A 關係
  • 多型:同一介面對不同物件產生不同行為(重寫/多載)

OO 開發三階段

  1. 面向物件分析 (OOA):從需求中提取物件模型
  2. 面向物件設計 (OOD):細化模型,設計類別屬性、關聯,評估現有元件復用性
  3. 面向物件實作 (OOP):選擇語言編碼,導入測試,完善方案

核心優勢

  • 可重用性:元件模組化,跨專案復用
  • 可擴展性:透過繼承/介面輕鬆新增功能
  • 可管理性:封裝降低耦合,便於維護

類別定義細節

修飾符分類

類型關鍵字
存取控制public, private, protected, private protected
非存取控制abstract, final, static, volatile, native, synchronized

關鍵規則

  • final 類別不可被繼承;abstract 與 final 不可同時修飾類別
  • 建構子:無回傳型別、不可為 void、由 new 呼叫、負責初始化
  • public 類別預設建構子亦為 public
  • 靜態成員(static)可用類別名或物件名存取;實例成員僅限物件名
  • 區域變數:方法內宣告、無存取修飾符、不可 static、可 final、必須初始化

記憶體模型

  • 類別變數 (static):儲存於方法區公共儲存單元,屬於類別不屬於實例
  • 實例變數:儲存於堆記憶體物件實例中
  • 區域變數:儲存於執行緒棧框架中

繼承與多型細節

  • 含 abstract 方法的類別必須宣告為 abstract
  • 非抽象子類別必須實作所有抽象方法
  • 抽象方法不可為 static/final/native
  • this 指向呼叫當前方法的物件;super 指向父類別建構子/成員
  • 重載:參數列表不同(個數/型別/順序),回傳型別須相同
  • 介面:屬性皆為常數,方法皆為抽象,透過 implements 實作

存取權限對照表

修飾符同類同包子類(異包)非子類(異包)
public✓✓✓✓
protected✓✓✓✗
default✓✓✗✗
private✓✗✗✗
private protected✓✗✓✗

常見錯誤避坑指南

  • abstract 不可與 private/static/final/native 並列修飾方法
  • 抽象類別不可有 private 成員
  • static 方法不可存取非靜態欄位
  • 匯入套件:import java.awt.*; 僅匯入該層級,子套件需另行匯入
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved