Java中抽象不能new,但是為什麼抽象類可以寫一個有參的建構函式?有什麼作用?

  • 作者:由 匿名使用者 發表于 攝影
  • 2022-11-01

Java中抽象不能new,但是為什麼抽象類可以寫一個有參的建構函式?有什麼作用?匿名2019.09.09 回答

它的子類可以透過 super 進行呼叫建構函式。

Java中抽象不能new,但是為什麼抽象類可以寫一個有參的建構函式?有什麼作用?幸福老大2017.12.17 回答

不一定,但是一定要有一個建構函式,有參無參都可以。建構函式是物件的基本,沒有建構函式就沒有物件。若果在父類中中顯示的寫了有引數的建構函式,在子類繼承就必須寫一個建構函式來呼叫父類的建構函式

例子:

abstract class person {   //定義一個抽象類,必須被繼承

person(int i) {

}

}

public class student extends person {

student() {

super(int i)://必須顯示的呼叫父類構造方法//super代表父類物件

}

}

如果父類中有沒有引數的建構函式,在子類中可以不顯示的寫父類的建構函式,java會自動呼叫沒有引數的建構函式

例子:

abstract class person {   //定義一個抽象類,必須被繼承

person() { //此建構函式也可以不寫,java會預設新增一個沒有引數的建構函式

}

}

public class student extends person {

student() {

//super();//可以不寫,java會自己呼叫這個super()方法

}

}

Top