有時我們在derived-class的constructor提供的參數,事實上是base-class的資料,或者base-class根本就是ABC(abstract base class),這時我們就得在derived-class的constructor去呼叫base-class的constructor。

Constructor_CallBaseConstructor_student.java

 1}


Constructor_CallBaseConstructor_bachelor.java

 1}


執行結果

(原創) derived-class要怎麼呼叫base-class的constructor? (Java)John
(原創) derived-class要怎麼呼叫base-class的constructor? (Java)PECLab


Constructor_CallBaseConstructor_bachelor.java的14行的constructor提供了兩個參數,name為base-class的資料,而lab為derived-class的資料,所以勢必呼叫base-class的constructor才行,Java的方式是在body使用super keyword,並帶入參數,這樣就可以執行base-class的constructor了。

C++是在constructor initializer list使用呼叫base-class的constructor,而C#是在constructor initializer list中使用base這個keyword。

See Also
(原創) derived-class要怎麼呼叫base-class的constructor? (初級) (C++) (OO C++)
(原創) derived-class要怎麼呼叫base-class的constructor? (初級) (C#)

相关文章: