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

Java 類繼承、介面與多型深度解析

     編輯:Java 程式設計入門

1. 繼承:復用現有類的強大機制

繼承允許在現有類基礎上建立新類,自動獲得父類的屬性與方法。以 Rectangle 為基礎擴充 FillRect 為例:

import Shapes.Rectangle;

class FillRect extends Rectangle {
    // 自動擁有 width、height、getArea() 等成員
}

使用 extends 關鍵字即可實現繼承,新類僅需添加或覆寫所需功能。

2. 方法覆寫:特化父類行為

子類可透過同名方法覆寫父類實現。例如重寫 drawRect() 以繪製填滿矩形而非輪廓:

private String makeString(char ch, int num) {
    StringBuffer str = new StringBuffer();
    for (int i = num; i > 0; i--) str.append(ch);
    return str.toString();
}

public void drawRect() {
    for (int i = height; i > 0; i--)
        System.out.println(makeString('#', width));
}

注意:final 修飾的方法不可覆寫。另需定義新建構子以區分類別實例。

3. 介面:定義契約,支援多重實現

介面僅包含抽象方法宣告,所有方法隱含 public abstract,欄位隱含 public static final。類別使用 implements 實現介面,且可同時實現多個介面:

public interface Shape {
    void draw();
}

class Circle implements Shape { public void draw() { ... } }
class Rectangle implements Shape { public void draw() { ... } }

介面讓不同類別共享統一行為契約,是多型設計基石。

4. 類別轉型:父子類別引用轉換

父類別引用可指向子類別物件(向上轉型),子類別引用可經由強制轉型指向父類別物件(向下轉型,需實際型別匹配)。同層級兄弟類別間不可互轉。

Y y = new Y();
X x = y; // 向上轉型,Y 繼承自 X

5. 特殊引用:null、this、super

  • null:不指向任何物件,可作為參數傳遞或初始化預留。
  • this:指向當前物件實例,用於區分同名欄位或傳遞自身引用。
  • super:指向父類別實例,用於呼叫父類建構子或被覆寫的方法。

掌握這些核心概念,是撰寫健壯、可擴充 Java 程式的基礎。

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