抽象類概述
什麼是抽象類?什麼是抽象方法?
抽象方法:沒有方法體的方法就是抽象方法,必須用abstract關鍵字去修飾。
抽象類:擁有抽象方法的類,就是抽象類。
應用場景:
在不同的子類往上抽取方法時,方法的定義是一樣的,但是方法體不一樣,所以抽取到父類時就可以使用抽象方法。
簡單來說:
當多個子類擁有同乙個功能,但是這個功能的過程不一樣,那麼在父類中就把這個功能寫成抽象的。
案例:public abstract class person
class manager extends person
}class coder extends person
}疑問:
我幹嘛要抽取?不抽取,在子類中需要寫。抽取了,在子類還需要寫。
假設,此時沒有抽取。
class manager
}class coder
}//如果沒有抽取到父類中,我們是沒有辦法強制子類一定要按照某種格式進行書寫的。
所以把方法抽取到父類中並把這個方法進行抽象
強制子類一定要按照某種規則進行重寫。//至少包含了,方法名,引數列表,返回值類。
這樣來講也會降低我們的學習成本。
2.抽象類的特點
1.抽象類不能建立物件。
2.子類繼承乙個抽象類,那麼需要重寫裡面"所有"的抽象方法。
3,抽象類的成員特點
抽象類中可以什麼都有,可以什麼都沒有。
抽象類中的構造有什麼作用?
建立子類物件時,進行初始化的。
物件導向 抽象類
抽象 裡邊有未明確的東西。抽象類的特點 1 抽象方法一定在抽象類中。2 抽象方法和抽象類都必須被abstract關鍵字修飾。3 抽象類不可以用new建立物件,因為呼叫抽象方法沒意義。4 抽象類中的抽象方法要被使用,必須由子類複寫其所有的抽象方法後,建立子類物件呼叫。如果子類只覆蓋部分抽象方法,那麼該...
物件導向 抽象類
帶引數的抽象類以及抽象方法 編寫構造方法以及預設的構造方法,備註 未自行編寫構造方法時具有預設的構造方法 一旦自行編寫了構造方法,預設不寫的構造方法,必須編寫 package 測試類 public class cs 具有三個引數的構造方法 public cs string name,int zhi,...
物件導向 抽象類
有的時候,某個父類只是知道子類應該包含怎麼樣的方法,但是無法準確知道子類如何實現這些方法。比如乙個圖形類應該有乙個求周長的方法,但是不同的圖形求周長的演算法不一樣。那該怎麼辦呢?分析事物時,發現了共性內容,就出現向上抽取。會有這樣一種特殊情況,就是方法功能宣告相同,但方法功能主體不同。那麼這時也可以...