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

Java 類與對象:繼承機制詳解

     編輯:Java 綜合教學

一、繼承核心概念

繼承是指子類獲取父類屬性與行為的過程。若類 A 是類 B 父類,B 是類 C 父類,則 C 間接繼承 A。Java 採用單一繼承:一個子類只能有一個直接父類。

二、關鍵字:extends 與 implements

兩者決定類之間的 IS-A(是一個)關係:

  • extends:繼承類(含抽象類)
  • implements:實現接口

1. extends 示例

// A.java
public class A {
    private int i;
    protected int j;
    public void func() { }
}

// B.java
public class B extends A { }

子類 B 擁有父類 A 所有成員,但 private 成員不可直接訪問,保證封裝性。

2. IS-A 驗證:instanceof

class Animal { }
class Dog extends Animal { }
class Cat extends Animal { }
class Pig extends Animal { }

public class AnimalTest {
    public static void main(String[] args) {
        Dog dog = new Dog();
        Cat cat = new Cat();
        Pig pig = new Pig();
        System.out.println(dog instanceof Animal); // true
        System.out.println(cat instanceof Animal); // true
        System.out.println(pig instanceof Animal); // true
    }
}

3. implements 實現接口

interface Animal { }
class Mammal implements Animal { }
class Dog implements Animal { }

public class AnimalTestTwo {
    public static void main(String[] args) {
        Mammal m = new Mammal();
        Dog d = new Dog();
        System.out.println(m instanceof Animal); // true
        System.out.println(d instanceof Animal); // true
    }
}

三、多重實現模擬多繼承

Java 不支持多重類繼承,但可通過實現多個接口達到類似效果:

public class Apple extends Fruit implements Fruit1, Fruit2 { }

慣例:extends 用於類/抽象類,implements 用於接口。

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