源**:
class person
public person(string name,int age)
}class student extends person
public student(string name,int age)
public student(string name,int age,string school)
}class createstudent
}輸出結果:
父類的兩參構造方法
子類的兩參構造方法
noname
子類的三參構造方法
原理:1:分配成員變數的儲存空間並進行預設的初始化,既為父類成員變數name,age和子類的school分配空間並分別賦值null,0,null
2:呼叫子類的public student(string name,int age,string school)構造方法,該方法中首先執行this(name,age),既呼叫public student(string name,int age)構造方法,該方法中又顯示的呼叫父類中的public person(string name,int age)構造方法。
所以構造的順序為:(1)父類的public person(string name,int age)->子類的public student(string name,int age)->子類的public student(string name,int age,string school).
3:進行例項變數的顯示初始化工作。既為父類成員變數name,age和子類的school分配空間並分別賦值noname,-1,noname。
4:執行方法體中的程式**。
子類物件例項化過程的理解
提到子類物件的例項化,就得先對this 與super做乙個回顧 1.this關鍵字 1.可以呼叫的結構 屬性 方法 構造器 2.this呼叫屬性 方法 this理解為 當前物件 或 當前正在建立的物件 1 在類的方法中,我們可以使用 this.屬性 或 this.方法 的方式,呼叫 當前物件屬性或方...
子類的例項化過程
乙個物件例項化過程 person p new person 1,jvm會讀取指定的路徑下的person.class檔案,並載入進記憶體,並會先載入person的父類 如果有直接的父類的情況下 2,在堆記憶體中的開闢空間,分配位址。3,並在物件空間中,對物件中的屬性進行預設初始化。4,呼叫對應的建構函...
子類的例項化過程
乙個物件例項化過程 person p new person 1.jvm會讀取指定路徑下的person.class檔案,並載入進記憶體.並且會先載入person的父類 如果有直接父類的情況下 2.在堆記憶體中開闢空間,分配位址.3.在物件空間中,對物件中的屬性進行預設初始化.4.呼叫對應的建構函式進行...