更新時間:2022-09-21 09:37:04 來源:動力節(jié)點 瀏覽1164次
Java抽象類雖然自身不可以實例化,但是其子類覆蓋了所有的抽象方法后,是可以實例化的,所以抽象類的構造函數(shù),適用于給其子類對象進行初始化的
構造函數(shù)是對象的基本,沒有構造函數(shù)就沒有對象。 若果在父類中(這里就是你的抽象類)中顯示的寫了又參數(shù)的構造函數(shù),在子類繼承是就必須寫一個構造函數(shù)來調用父類的構造函數(shù)
abstract class Person { //定義一個抽象類,必須被繼承
Person(int i) {
}
}
public class Student extends Person {
Student() {
super(int i)://必須顯示的調用父類構造方法//super代表父類對象
}
}
如果父類中有沒有參數(shù)的構造函數(shù),在子類中可以不顯示的寫父類的構造函數(shù),Java 會自動調用沒有參數(shù)的構造函數(shù)
abstract class Person { //定義一個抽象類,必須被繼承
Person() { //此構造函數(shù)也可以不寫,Java會默認添加一個沒有參數(shù)的構造函數(shù)
}
}
public class Student extends Person {
Student() {
super();//可以不寫,Java會自己調用這個super()方法
}
}