抽象類不能被例項化(也就是不能直接 new 抽象類()),如果被例項化,就會報錯,編譯無法通過。只有抽象類的非抽象子類可以建立物件。
抽象類中不一定包含抽象方法,但是有抽象方法的類必定是抽象類。
抽象類中的抽象方法只是宣告,不包含方法體,就是不給出方法的具體實現也就是方法的具體功能。
構造方法,類方法(用static修飾的方法)不能宣告為抽象方法。
抽象類的子類必須給出抽象類中的抽象方法的具體實現,除非該子類也是抽象類。
public abstract class father
}public class son extends father
}public class test
}
輸出結果:
抽象類的構造引數
子類的構造引數
public abstract class father
}public class son extends father
}public class test
}
輸出結果:
抽象類的構造引數aaaa
子類的構造引數aaaa
也就是說:在生成子類物件前,必須要先呼叫抽象父類的構造方法 抽象類的構造方法
首先要說明的是 抽象類中可以定義構造方法。在之前認為 1,抽象類是不能例項化的 2,定義抽象類肯定是用來例項化的 3,抽象類中沒有建構函式。這三句話第一句肯定是正確的,第二句和第三句呢,定義抽象類一定要用來繼承使用嗎?抽象類中沒有建構函式嗎?這兩個問題會在下面詳細解答 就拿前段時間做的圖書館維修管理...
抽象類中構造方法的使用
抽象類中構造方法的使用 抽象類無法被例項化,只能通過子類的繼承 extends 乙個子類只能繼承乙個抽象類 並且子類必須全部覆寫抽象類中的全部抽象方法 package extends abstract class persons 宣告乙個抽象方法 public abstract string tal...
PHP抽象類構造
那麼在php中也是一樣的,把乙個類進行抽象,可以指明某個類的一般行為,這個類可以是乙個模板,而繼承他的子類中的方法就要去 具體的實現模板的相應功能 注意這裡是模板的全部功能 下面是我總結的一些注意點 1.定義的方法,子類必須完全實現這個抽象中所有的方法。2.不能從抽象類建立物件,物件要讓繼承他的子類...