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

Java 核心複習:介面多態、內部類與存取權限完整筆記

     編輯:Java 綜合教學

Java 核心複習:介面、多態、內部類與權限控制

本文整理 Java 進階核心知識點,涵蓋抽象類別、介面特性、多態機制、內部類分類、存取修飾符與常用 API 陷阱,適合面試複習與知識查漏補缺。

抽象類別與介面關鍵規則

  • abstract 不能修飾成員變數;可無抽象方法仍宣告為抽象類別(防止實例化)。
  • abstract 與 static、final、private 互斥(無意義或衝突)。
  • 介面只能 被實作;介面間支援多重繼承。
  • 介面變數隱含 public static final;方法隱含 public,實作類必須 public。
  • 介面可無需實作方法(標記介面)。

關係辨析:is-a vs like-a

  • 抽象類別:體現 is-a 關係,定義核心共性功能。
  • 介面:體現 like-a 關係,定義擴展能力契約。

編譯與封裝實用指令

javac -d <目標目錄> MyProgram.java  // 指定 class 輸出路徑
javac -d . MyProgram.java            // 當前目錄生成套件結構

import pkg.* 為通配符導入,編譯器逐一匹配所需類別。

存取權限矩陣速查

修飾符同類同包(子類/無關)異包子類異包無關類
privateYNNN
defaultYYNN
protectedYYYN
publicYYYY

內部類完整分類

  1. 成員內部類:Outer.Inner oi = new Outer().new Inner(); 可直接存取外部類 private 成員。
  2. 靜態內部類:Outer.Inner oi = new Outer.Inner(); 不依賴外部實例。
  3. 方法局部內部類:存取區域變數需加 final(Java 8+ 隱含 final),確保生命週期一致。
  4. 匿名內部類:適用於單一方法覆寫(如執行緒、事件監聽)。

常見陷阱與最佳實踐

  • equals 覆寫:參數必須為 Object,否則為多載非覆寫;底層依賴 ==,通常需自行實作業務邏輯比較。
  • Scanner 組合陷阱:nextInt() 後緊接 nextLine() 會讀取殘留換行符。解決:兩次 Scanner 或全用 nextLine() 再轉型。
  • 編碼規範:類別名 PascalCase,方法/變數 camelCase,常數 UPPER_SNAKE_CASE。

系統梳理核心語法規則,建立清晰知識骨架,應對開發與面試更從容。

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