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

Java 面向物件三大特性:封裝、繼承、多態核心概念與程式碼示範

     編輯:程式設計綜合問答

一、封裝

將類的內部細節隱藏,僅透過公開方法存取。

實作步驟

  1. 屬性私有化:private int age;
  2. 提供 getter/setter:public int getAge() { return age; } public void setAge(int age) { if (age>0) this.age=age; }
  3. 驗證邏輯:在 setter 中檢查合法性。

二、繼承

子類取得父類非私有成員,並可擴充或覆寫。

三種繼承方式

  • 實作繼承:class Sub extends Base(類繼承類)。
  • 介面繼承:class Impl implements Interface。
  • 可視繼承:視覺化元件繼承(如 Windows Forms 控制項繼承)。

三、多態

同一引用型別,指向不同實例時表現不同行為。

實現方式

  • 方法覆寫:子類重新定義父類虛擬方法,運行期動態分派。
  • 方法重載:同類中同名方法參數列表不同,編譯期靜態綁定。

綜合範例

abstract class Animal {
    private String name;
    public Animal(String name) { this.name = name; }
    public String getName() { return name; }
    public abstract void sound(); // 多態:抽象方法
}

class Dog extends Animal {
    public Dog(String name) { super(name); }
    @Override public void sound() { System.out.println(getName() + ": Wang!"); }
}

class Cat extends Animal {
    public Cat(String name) { super(name); }
    @Override public void sound() { System.out.println(getName() + ": Miao!"); }
}

public class Test {
    public static void main(String[] args) {
        Animal a1 = new Dog("Lucky");
        Animal a2 = new Cat("Kitty");
        a1.sound(); // Lucky: Wang!
        a2.sound(); // Kitty: Miao!
    }
}

關鍵點總結

  • 封裝保護資料完整性,繼承促進碼複用,多態提供擴充彈性。
  • 建構子不會被繼承,但子類建構子必須呼叫 super(...) 初始化父類狀態。
  • 多態需滿足:繼承、覆寫、父類引用指向子類物件。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved