国产宅男网站在线|亚洲A级性爱免费视频|亚洲中精品级在线|午夜福利AA毛

  • <dd id="gf5jf"><th id="gf5jf"></th></dd>

    <cite id="gf5jf"><label id="gf5jf"></label></cite>
  • <div id="gf5jf"><listing id="gf5jf"></listing></div>
    學(xué)習(xí)啦>知識(shí)大全>知識(shí)百科>百科知識(shí)>

    java中什么是抽象

    時(shí)間: 歐東艷656 分享

      一.抽象類

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

      

      abstract void fun();

      抽象方法必須用abstract關(guān)鍵字進(jìn)行修飾。如果一個(gè)類含有抽象方法,則稱這個(gè)類為抽象類,抽象類必須在類前用abstract關(guān)鍵字修飾。因?yàn)槌橄箢愔泻袩o具體實(shí)現(xiàn)的方法,所以不能用抽象類創(chuàng)建對(duì)象。

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

      [public] abstract class ClassName {

      abstract void fun();

      }

      從這里可以看出,抽象類就是為了繼承而存在的,如果你定義了一個(gè)抽象類,卻不去繼承它,那么等于白白創(chuàng)建了這個(gè)抽象類,因?yàn)槟悴荒苡盟鼇碜鋈魏问虑?。?duì)于一個(gè)父類,如果它的某個(gè)方法在父類中實(shí)現(xiàn)出來沒有任何意義,必須根據(jù)子類的實(shí)際需求來進(jìn)行不同的實(shí)現(xiàn),那么就可以將這個(gè)方法聲明為abstract方法,此時(shí)這個(gè)類也就成為abstract類了。

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

      1)抽象方法必須為public或者protected(因?yàn)槿绻麨閜rivate,則不能被子類繼承,子類便無法實(shí)現(xiàn)該方法),缺省情況下默認(rèn)為public。

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

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

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

    java中什么是抽象

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

    精選文章

    • java中什么是內(nèi)部類介紹
      java中什么是內(nèi)部類介紹

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

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

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

    • java什么是棧
      java什么是棧

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

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

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

    245923