- 相關(guān)推薦
在子類中應該如何調(diào)用父類的構(gòu)造方法
在Java中,子類可以繼承父類的非私有成員變量和成員方法(不是以private關(guān)鍵字修飾的)作為自己的成員變量和成員方法。但是,不能繼承父類的構(gòu)造方法,那么在子類中應該如何調(diào)用父類的構(gòu)造方法?今天小編為大家整理的在子類中應該如何調(diào)用父類的構(gòu)造方法,僅供學習參考,歡迎大家閱讀瀏覽!
答:子類可以調(diào)用由父類聲明的構(gòu)造方法。但是必須在子類的構(gòu)造方法中使用super關(guān)鍵字來調(diào)用。其具體的語法格式如下:
super([參數(shù)列表]);
例如,在動物類Animal中添加一個默認的構(gòu)造方法和一個帶參數(shù)的構(gòu)造方法,具體代碼如下:
1public class Animal{
2 String skin = "不清楚"; // 成員變量
3 public Animal () { // 默認構(gòu)造方法
4 }
5 public Animal(String strSkin) { // 帶參數(shù)的購造方法
6 skin = strSkin;
7 }
8}
這時,如果想在子類Dog中使用父類的帶參數(shù)的構(gòu)造方法,則需要在子類Dog的構(gòu)造方法中通過以下代碼進行調(diào)用。
1public class Dog extends Animal{
2 public Dog (){
3 super("白色"); //使用父類的帶參數(shù)的構(gòu)造方法
4 }
5 public static void main(String[] args) {
6 Dog dog=new Dog();
7 System.out.println("小狗的毛是"+dog.skin);
8 }
9}
拓展
在Java中,子類不能繼承父類的構(gòu)造方法,但是如果子類沒有編寫調(diào)用父類構(gòu)造方法的代碼,那么Java將自動在子類的構(gòu)造方法中添加super();語句,用于調(diào)用父類的無參構(gòu)造方法。所以說即使您沒有手動指定調(diào)用父類的構(gòu)造方法,父類的無參構(gòu)造方法也將會被執(zhí)行。因此,在Java中,如果想調(diào)用父類中無參的構(gòu)造方法,則可以使用super();語句調(diào)用,也可以不使用super();語句調(diào)用。但是如果要調(diào)用帶參數(shù)的構(gòu)造方法,則需要使用super()方法。
【在子類中應該如何調(diào)用父類的構(gòu)造方法】相關(guān)文章:
java構(gòu)造函數(shù)調(diào)用技巧10-26
Think in Java之構(gòu)造器的真正調(diào)用順09-16
java遠程方法調(diào)用技巧09-21
Java遠程方法調(diào)用RMI08-24
網(wǎng)頁設計中應該如何配色09-06
java如何構(gòu)造09-21
C++如何調(diào)用matlab函數(shù)06-29
PHP類與構(gòu)造函數(shù)07-01