Java建構函式詳解

wjg_selected發表於2020-11-17

Java建構函式詳解

建構函式的特點:

  1. 每個類都預設有一個無參的建構函式,如果自己定義了建構函式,則預設的建構函式被覆蓋,一個類可以存在多個建構函式(過載)
  2. 建構函式名稱必須和類名相同
  3. 建構函式沒有返回型別
  4. 建構函式在建立物件時自動呼叫或者在子類建構函式中用super()或super(引數)方式呼叫

建構函式的作用:物件在呼叫功能之前,對物件進行初始化,比如賦初值之類的。

建立物件時自動呼叫:

public class Demo3 {
    public Demo3(){
        System.out.println("我是建構函式");
    }
    public Demo3(int a){
        System.out.println("我是建構函式"+a);
    }

    public static void main(String[] args) {
        Demo3 demo3 = new Demo3();
        Demo3 demo4 = new Demo3(2);
    }
}

在這裡插入圖片描述
在子類建構函式中呼叫(接上面的程式碼):

public class Demo4 extends Demo3 {
    public Demo4()
    {
        //super();
        super(2);
        System.out.println("我是子類建構函式");
    }    public static void main(String[] args) {
        Demo4 demo = new Demo4();
    }
}

在這裡插入圖片描述

注意:在子類建構函式可以使用super(引數)或super()方式呼叫父類的建構函式,不寫super()或super(引數)也會預設呼叫父類的無參建構函式,當父類中沒有無參建構函式,在子類中必須手動呼叫父類中的有參建構函式,因為子類物件的生成是在父類的物件先生成的前提下(沒有爸爸哪來的兒子)。

歡迎大家在評論區留言,如有錯誤,請指出。

相關文章