Java繼承類物件的建立


Java中,構造器負責建立特定類的物件。除了構造器的其他功能外,它還例項化其類的屬性/例項。在Java中,預設情況下,super()關鍵字用作每個類的構造器的第一行,此方法的目的是呼叫其父類的構造器,以便在其子類繼承並使用之前,其父類的屬性得到正確的例項化。

這裡需要注意的是,當您建立物件時會呼叫構造器,但這並不意味著每當您呼叫類的構造器時都會建立該類的物件。如上例所示,從子類的構造器中呼叫父類的構造器,但只建立子類的物件,因為子類與其父類之間存在is-a關係。

建立繼承類物件的步驟

以下是Java繼承類物件建立的步驟:

  • 首先,我們將建立一個父類,該父類具有一個輸出類名和訊息的構造器。
  • 我們將在子類中定義父類的擴充套件。
  • 在子類中包含一個輸出類名和訊息的構造器。
  • 在主程式中建立一個子類物件。注意,在父類構造器之後呼叫子類構造器。
  • 透過執行應用程式並觀察輸出,驗證父類構造器在子類構造器之前被呼叫。

建立繼承類物件的Java程式

以下是Java繼承類物件建立的Java程式:

class InheritanceObjectCreationParent {
    public InheritanceObjectCreationParent() {
        System.out.println("parent class constructor called..");
        System.out.println(this.getClass().getName()); //to know the class of which object is created.
    }
}
public class InheritanceObjectCreation extends InheritanceObjectCreationParent {
    public InheritanceObjectCreation() {
        //here we do not explicitly call super() method but at runtime complier call parent class constructor
        //by adding super() method at first line of this constructor.
        System.out.println("subclass constructor called..");
        System.out.println(this.getClass().getName()); //to know the class of which object is created.
    }
    public static void main(String[] args) {
        InheritanceObjectCreation obj = new InheritanceObjectCreation(); // object creation.
    }
}

輸出

parent class constructor called..
InheritanceObjectCreation
subclass constructor called..
InheritanceObjectCreation

程式碼解釋

在這個Java程式中,我們將建立一個父類`InheritanceObjectCreationParent`,它帶有一個列印訊息和類名的構造器。現在我們可以看到,子類`InheritanceObjectCreation`擴充套件了父類,並且還有一個輸出類名和訊息的構造器。雖然我們沒有特別呼叫`super()`關鍵字,但Java編譯器會在建立子類物件時自動呼叫父類構造器。透過這樣做,可以確保父類構造器首先初始化父類屬性,在子類構造器之前執行。

更新於:2024年8月22日

2K+瀏覽量

開啟你的職業生涯

完成課程獲得認證

開始學習
廣告
© . All rights reserved.