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

Java 面向對象核心:封裝、繼承、多態與介面深度解析

     編輯:Java 綜合教學

一、封裝

目的

提高安全性,隱藏內部實現細節。

實現三步驟

  1. 屬性 private 限制直接訪問。
  2. 提供 public getter/setter。
  3. 在 setter 中加入業務驗證邏輯。
private int age;
public void setAge(int age) {
    if (age < 0 || age > 100) this.age = 18; // 防呆
    else this.age = age;
}

四大訪問修飾符對比

修飾符同類同包子類其他包
private✓✗✗✗
default✓✓✗✗
protected✓✓✓✗
public✓✓✓✓

protected 專為子類繼承設計;default 限定包內可見。

二、繼承

  • Java 單繼承,不支援多重繼承。
  • 子類可繼承父類 non-private 成員;default 需同包。

抽象類與抽象方法

  • abstract class 不可實例化,可含抽象/非抽象方法。
  • 抽象方法強制子類實作(除非子類也是抽象類),實現多態契約。

final 關鍵字

修飾目標效果
變數(基本型別)僅能賦值一次,不可變
變數(引用型別)鎖定引用地址,不可指向新物件
方法禁止子類覆寫
類禁止被繼承

方法覆寫 本質

將子類方法入口地址替換父類同名方法入口地址(函數指針替換)。

三、介面 vs 抽象類

維度介面抽象類
語義能力契約實體骨架(含屬性與行為)
成員常數 + public abstract 方法任意修飾符屬性/方法
實作全部抽象(Java 8+ 可 default/static)可混合抽象與具體
繼承implements 多實作extends 單繼承
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved