子類程式:
package cn.dali.code16;
/*構造方法:
作用:對類的成員變數進行初始化,注意不是物件的成員變數而是類的成員變數進行初始化後
交給物件,進入堆內。
父子類構造方法的訪問特點:
1.若子類構造方法沒有手動呼叫父類構造方法,則編譯器會自動生成乙個super();
也就是父類【無參構造方法】。
所以建立乙個子類物件的時候,一定是先執行父類構造方法後再執行子類構造方法。
2.若父類構造方法並沒有無參構造,或者想對父類成員變數進行初始化。需呼叫父類有參構造
呼叫父類有參構造則需要我們手動寫,編譯器並不會生成。
3.子類構造方法第一行必須是呼叫【父類構造方法或者使用this呼叫本類構造方法】。而且【只能呼叫一次】,
因為構造方法作用是初始化,進行兩次初始化沒有意義。
若不寫,編譯器會自動生成super()*/
當我們在子類構造方法當中呼叫了this另外乙個構造方法,則編譯器不會在此構造方法中生成super()
this關鍵字三種使用方法:
1.呼叫本類成員變數
2.成員方法中呼叫本類成員方法
3.構造方法中呼叫本類另外乙個構造方法
注意:第三種情況,在此構造方法中呼叫本類另外乙個構造方法必須是第一行
且不可以在此構造方法中建立super();
可以在另外乙個構造方法中手動建立,也可以自動生成super();
public class zilei extends fulei
public zilei(int num)
}
父類程式:
package cn.dali.code16;
public class fulei
public fulei(string name,int age)
}
List Set集合以及子類的特點
是有序 可重複 可以有null的集合,就像我們的陣列一樣。我們可以吧list理解為乙個長度可變了陣列,而且提供了豐富的api。arraylist 底層是陣列的原理,元素可以重複,有順序,長度不固定,不是執行緒安全的,效率高。arratlist長度的變化 arratlist在新增資料的時候,初始長度為...
父子類以及static的載入順序
static可以被寫在變數和 塊上,此時該變數和 塊不屬於物件,而屬於類,會在jvm執行類載入機制時的準備階段就被賦值以及執行,而非static的變數和 塊在初始化階段才會被賦值並執行。因此如果問靜態方法能否呼叫非靜態變數,答案是不能,因為後者在前者執行時還沒有初始化。通過結果,可以看到父子類的初始...
子類,父類構造方法的特點
子父類建構函式的特點 1 在對子類物件進行初始化時,父類的建構函式也會執行 2 那是因為子類的建構函式預設第一行有一條隱式的語句super 3 super 會訪問父類中空引數的建構函式,而且子類所有的建構函式預設第一行都是super 為什麼子類一定要訪問父類的建構函式?因為父類中的資料,子類可以直接...