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編譯器會在建立子類物件時自動呼叫父類構造器。透過這樣做,可以確保父類構造器首先初始化父類屬性,在子類構造器之前執行。
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP