抽象類別與介面學習小結

來源:互聯網
上載者:User

標籤:抽象類別   介面   javase   

抽象類別:在某些類中某些功能不能定義具體的行為功能,這種功能稱之為抽象功能,含有抽象功能的類,就稱為抽象類別。

抽象類別的特點:抽象類別和抽象方法必須用abstract關鍵字修飾

       抽象類別的格式:   abstract class類名{}

       抽象方法的格式:  public abstract void 方法()

抽象類別不一定含有抽象方法,有抽象方法的類一定是抽象類別。

抽象類別不能執行個體化,因為該類不是具體的實作類別。

抽象類別需要按照多態的形式,由具體的子類執行個體化。

抽象類別的子類要麼是抽象類別,要麼必須重寫並實現抽象類別中的所有方法。

抽象類別是有構造方法的,但是不能進行執行個體化,構造方法的作用是用於子類訪問父類資料時進行父類資料的初始化。

抽象方法的存取權限必須是public

抽象類別的成員特點:

         成員變數:可以是變數或者常量

         構造方法:有構造方法,但是無法執行個體化。

         成員方法:可以是抽象方法,也可以是非抽象的成員方法。

                             抽象方法的作用:強制子類做自己的事情

                             非抽象方法:交由子類繼承,提高代碼的複用性。

抽象可以有靜態變數,常量和靜態方法。

方法的空實現並不等同於該方法是一個抽象方法。
多態的實現,是為了提高程式的可擴充性。

在軟體開發中一般會定義一個空的類作為基類,便於組織和管理代碼的體繫結構。

軟體分析的過程:從具體功能到抽象定義。

軟體的實現過程:從抽象定義到具體功能。


抽象類別的小問題

1. 抽象類別不能用final修飾。抽象方法也不能用final修飾。

2. 抽象方法不能用private修飾。

3. 抽象方法不能用static修飾。


介面:用來表現一些特殊的功能的抽象敘述,交由實現介面的類完成介面中的方法。

介面的特點:

         介面用關鍵字interface表示

                   格式:interface 介面名{}

 

類實現介面的方式 calss 類名 implements 介面名{}

 

介面的執行個體化:介面不能直接執行個體化,需要按照多態的方式,由具體的子類進行執行個體化。介面也是多態的一種表現形式

 

實現介面的類,要麼是抽象類別,要麼重寫並實現了介面中的所有抽象方法。

 

介面中定義的變數預設都是用 public static

介面中定義的方法預設都是用public abstract 修飾的。

介面裡面定義的內部類,介面預設都是用public static修飾的

介面可以繼承介面。

介面裡面可以沒有任何成員,從而作為某種標示。

 

介面和抽象類別的區別?

介面不能有非抽象方法和 非靜態變數。

 

介面的抽象類別實現沒有實際的意義。

 

多態的三種表現形式:具體類多態  抽象類別多態   介面多態



著作權聲明:本文為博主原創文章,未經博主允許不得轉載。

抽象類別與介面學習小結

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.