西西軟件下載最安全的下載網(wǎng)站、值得信賴的軟件下載站!

首頁編程開發(fā)java → Java里子類調(diào)用父類構(gòu)造方法把父類的內(nèi)容繼承怎么做?

Java里子類調(diào)用父類構(gòu)造方法把父類的內(nèi)容繼承怎么做?

前往專題相關(guān)軟件相關(guān)文章發(fā)表評論 來源:西西整理時間:2013/3/9 12:46:44字體大小:A-A+

作者:火星十一郎點擊:0次評論:0次標簽: 父類

在Java中,子類的構(gòu)造過程中,必須調(diào)用其父類的構(gòu)造函數(shù),是因為有繼承關(guān)系存在時,子類要把父類的內(nèi)容繼承下來,通過什么手段做到的?

答案如下:    

當你new一個子類對象的時候,必須首先要new一個父類的對像出來,這個父類對象位于子類對象的內(nèi)部,所以說,子類對象比父類對象大,子類對象里面包含了一個父類的對象,這是內(nèi)存中真實的情況.構(gòu)造方法是new一個對象的時候,必須要調(diào)的方法,這是規(guī)定,要new父類對象出來,那么肯定要調(diào)用其構(gòu)造方法,所以:    

第一個規(guī)則:

子類的構(gòu)造過程中,必須調(diào)用其父類的構(gòu)造方法。一個類,如果我們不寫構(gòu)造方法,那么編譯器會幫我們加上一個默認的構(gòu)造方法,所謂默認的構(gòu)造方法,就是沒有參數(shù)的構(gòu)造方法,但是如果你自己寫了構(gòu)造方法,那么編譯器就不會給你添加了,所以有時候當你new一個子類對象的時候,肯定調(diào)用了子類的構(gòu)造方法,但是在子類構(gòu)造方法中我們并沒有顯示的調(diào)用基類的構(gòu)造方法,就是沒寫,如:super(); 并沒有這樣寫,但是這樣就會調(diào)用父類沒有參數(shù)的構(gòu)造方法,如果父類中沒有沒有參數(shù)的構(gòu)造方法就會出錯。

第二個規(guī)則:

如果子類的構(gòu)造方法中沒有顯示的調(diào)用基類構(gòu)造方法,則系統(tǒng)默認調(diào)用基類無參數(shù)的構(gòu)造方法注意:如果子類的構(gòu)造方法中既沒有顯示的調(diào)用基類構(gòu)造方法,而基類中又沒有默認無參的構(gòu)造方法,則編譯出錯,所以,通常我們需要顯示的:super(參數(shù)列表),來調(diào)用父類有參數(shù)的構(gòu)造函數(shù)。

 1 //當你沒有使用父類默認的構(gòu)造方法時,此時在子類的構(gòu)造方法中就需要顯示的調(diào)用父類定義的構(gòu)造方法。

 2 class Animal{
 3   private String name;
 4   
 5   //如果你定義一個新的構(gòu)造方法
 6   public Animal(String name) {
 7     this.name = name;
 8   }
 9 }
10 
11 public Dog extends Animal{
12   
13   //這時你就要顯示的調(diào)用父類的構(gòu)造方法,因為子類默認調(diào)用的是父類的
14   //無參構(gòu)造方法Animal()
15   public Dog(){
16     super("小狗");  //顯示調(diào)用父類的有參構(gòu)造方法
17 
18     ....  //子類的構(gòu)造方法處理
19   }
20 }
21 
22 //當然,如果你在父類里面把無參的構(gòu)造方法,顯示的寫出來了,比如:
23 class Animal{
24   private String name;
25 
26   //無參的構(gòu)造方法
27   public Animal() {
28     .....  //處理
29   }
30   
31   /*
32   如果你定義一個新的構(gòu)造方法,那么在子類的構(gòu)造方法中,就可以不用顯示的調(diào)用父類的構(gòu)造方法,因為子類有個無參的構(gòu)造方法,
33   子類在構(gòu)造方法中會自動調(diào)用父類已經(jīng)定義的無參構(gòu)造方法。
34   */
35   public Animal(String name) {
36     this.name = name;
37   }
38 }

總結(jié):不過一般的,在父類中使用了構(gòu)造方法的重載,在子類中就可以根據(jù)需要,調(diào)用相應的父類構(gòu)造方法。

    相關(guān)評論

    閱讀本文后您有什么感想? 已有人給出評價!

    • 8 喜歡喜歡
    • 3 頂
    • 1 難過難過
    • 5 囧
    • 3 圍觀圍觀
    • 2 無聊無聊

    熱門評論

    最新評論

    發(fā)表評論 查看所有評論(0)

    昵稱:
    表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
    字數(shù): 0/500 (您的評論需要經(jīng)過審核才能顯示)
    推薦文章

    沒有數(shù)據(jù)