Java抽象類的概念講解
簡單來說
抽象類通常用來作為一個類族的最頂端的父類,用最底層的類表示現(xiàn)實中的具體事物,用最頂層的類表示該類族所有事物的共性。用abstract關(guān)鍵字類修飾一個類,該類叫做抽象類。
有抽象類那么肯定也有抽象方法,什么是抽象方法呢?
抽象方法就是有名字,形參列表,返回值,沒有方法體的方法就做抽象方法。
抽象方法和抽象類的關(guān)系?
凡是沒有方法體的方法必須使用關(guān)鍵字abstract修飾為抽象方法。
凡是含有抽象方法的類必須聲明為抽象類。
abstract class A{ abstract public void f();//有抽象方法的一定是抽象類 } abstract class B{ public void f(){ //抽象類不一定有抽象方法 } }
我們從舉例中可以看出A類方法中沒有方法體,因此使用了關(guān)鍵字abstract并且A類也必須聲明為抽象類。
抽象類中的多態(tài):
abstract class a{ abstract public void f(); } class B extends A{ public void f(){ System.out.println("BBB"); } } public class text{ public static void main(String[] args){ A aa=new A();//錯誤,抽象類不能實例化 B bb=new B();//ok bb.f()//OK A aa;//抽象類可以定義一個抽象類的引用,但是不可以定義一個抽象類對象。 aa=bb;//利用抽象類的引用指向真正實現(xiàn)的子類,再利用多態(tài)調(diào)用其子類方法。 aa.f(); } }
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,謝謝大家對腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請查看下面相關(guān)鏈接
相關(guān)文章
java日期格式化YYYY-MM-dd遇坑指南小結(jié)
本文主要介紹了java日期格式化YYYY-MM-dd遇坑指南小結(jié),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-08-08MyBatisPlus代碼生成器的原理及實現(xiàn)詳解
這篇文章主要為大家詳細介紹了MyBatisPlus中代碼生成器的原理及實現(xiàn),文中的示例代碼講解詳細,對我們學(xué)習(xí)MyBatisPlus有一定幫助,需要的可以參考一下2022-08-08SpringBoot關(guān)于自動注入mapper為空的坑及解決
這篇文章主要介紹了SpringBoot關(guān)于自動注入mapper為空的坑及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-07-07Java8實現(xiàn)對List<Integer>的求和
這篇文章主要介紹了Java8實現(xiàn)對List<Integer>的求和方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-05-05Mybatis輸入輸出映射及動態(tài)SQL Review
這篇文章主要介紹了Mybatis輸入輸出映射及動態(tài)SQL Review,需要的朋友可以參考下2017-02-02