亚洲AV无码成人网站久久精品大最新的|A区色逼逼不卡91AV一区二区|免费涩涩夜夜骑一区|亚洲中日韩成人在钱|男女视频在线观看无人一区二区|欧美精品成人在线观看一区二区|国产青青草原一区二区三区精品在线|久久免费观看伊人网|亚洲一区二区在线导航|日韩字幕一区二区

學習啦>知識大全>知識百科>百科知識>

java中什么是抽象

時間: 歐東艷656 分享

  一.抽象類

  在了解抽象類之前,先來了解一下抽象方法。抽象方法是一種特殊的方法:它只有聲明,而沒有具體的實現。抽象方法的聲明格式為:

  

  abstract void fun();

  抽象方法必須用abstract關鍵字進行修飾。如果一個類含有抽象方法,則稱這個類為抽象類,抽象類必須在類前用abstract關鍵字修飾。因為抽象類中含有無具體實現的方法,所以不能用抽象類創(chuàng)建對象。

  下面要注意一個問題:在《JAVA編程思想》一書中,將抽象類定義為“包含抽象方法的類”,但是后面發(fā)現如果一個類不包含抽象方法,只是用abstract修飾的話也是抽象類。也就是說抽象類不一定必須含有抽象方法。個人覺得這個屬于鉆牛角尖的問題吧,因為如果一個抽象類不包含任何抽象方法,為何還要設計為抽象類?所以暫且記住這個概念吧,不必去深究為什么。

  [public] abstract class ClassName {

  abstract void fun();

  }

  從這里可以看出,抽象類就是為了繼承而存在的,如果你定義了一個抽象類,卻不去繼承它,那么等于白白創(chuàng)建了這個抽象類,因為你不能用它來做任何事情。對于一個父類,如果它的某個方法在父類中實現出來沒有任何意義,必須根據子類的實際需求來進行不同的實現,那么就可以將這個方法聲明為abstract方法,此時這個類也就成為abstract類了。

  包含抽象方法的類稱為抽象類,但并不意味著抽象類中只能有抽象方法,它和普通類一樣,同樣可以擁有成員變量和普通的成員方法。注意,抽象類和普通類的主要有三點區(qū)別:

  1)抽象方法必須為public或者protected(因為如果為private,則不能被子類繼承,子類便無法實現該方法),缺省情況下默認為public。

  2)抽象類不能用來創(chuàng)建對象;

  3)如果一個類繼承于一個抽象類,則子類必須實現父類的抽象方法。如果子類沒有實現父類的抽象方法,則必須將子類也定義為為abstract類。

  在其他方面,抽象類和普通的類并沒有區(qū)別。

java中什么是抽象

一.抽象類 在了解抽象類之前,先來了解一下抽象方法。抽象方法是一種特殊的方法:它只有聲明,而沒有具體的實現。抽象方法的聲明格式為: abstract void fun(); 抽象方法必須用abstract關鍵字進行修飾。如果一個類含有抽象方法,則稱這
推薦度:
點擊下載文檔文檔為doc格式

精選文章

  • java中什么是內部類介紹
    java中什么是內部類介紹

    java內部類 內部類學習 所謂內部類(Inner Class),顧名思義,就是指定義在另外一個類中的類,我們?yōu)槭裁匆@么做呢?為什么不直接定義它而要在別的類中定

  • java中什么是重載
    java中什么是重載

    重載,簡單說,就是函數或者方法有同樣的名稱,但是參數列表不相同的情形,這樣的同名不同參數的函數或者方法之間,互相稱之為重載函數或者方法。

  • java什么是棧
    java什么是棧

    棧(stack)又名堆棧,它是一種運算受限的線性表。其限制是僅允許在表的一端進行插入和刪除運算。這一端被稱為棧頂,相對地,把另一端稱為棧底。向一個

  • java什么是引用類型
    java什么是引用類型

    引用類型 由類型的實際值引用(類似于指針)表示的數據類型。如果為某個變量分配一個引用類型,則該變量將引用(或指向)原始值。不創(chuàng)建任何副本。引用

245923