抽象類別和介面

來源:互聯網
上載者:User

標籤:new   方法   this   它的   表示   oid   抽象類別   內容   錯誤   

抽象類別

為什麼要引用抽象類別這種類:父類中有許多的方法沒有具體內容;而且子類中重寫父類的方法如果寫錯,不會提示錯誤;所有我們引用抽象類別來對子類加以限制,同時將父類中沒有具                               體方法的方法,定義為抽象,可以更加簡潔。不需要再用{}來表示方法。      

抽象類別和抽象方法:不知道具體內容的類和方法

抽象類別的定義:abstract class 類名{}

抽象方法的定義:abstract 傳回型別 方法名(形參);

怎麼引用抽象類別:抽象類別不能被直接new,但是可以調用它的衍生類別----當抽象類別有自己的衍生類別時可以直接調用衍生類別來實現調用抽象類別;當沒有衍生類別時,需要自己寫一個派生自這                       個抽象類別的衍生類別,來變相調用這個抽象類別。

注意:抽象類別不能被直接new出來;抽象方法沒有函數體;抽象類別中可以沒有抽象方法,但是有抽象方法的類必定是抽象類別;抽象類別中可以包含成員變數、抽象方法、非抽象方法;抽           象類的衍生類別可以不實現抽象方法,但是引用的類必須要註明是抽象類別。

介面

介面可以理解為就是一個獨特的抽象類別,他只有常量和抽象方法

定義方法:    interface 介面名 [extends 父介面列表]{
           final 類型 常量名=值;
           public void 方法名(形參);
         }

介面的實現:
[abstract] class 類名 extends 父類 implements 介面列表{}  //[]代表可以省略不寫

定義介面時要遵循介面分離原則,即介面實現的功能盡量的少,最好一個借口實現三個以下的功能;同時介面的介面名盡量是形容對象方法的形容詞。

注意:類是單繼承,而介面可以多個引用。

this:這個對象

super:父類

final:當修飾成員變數時,相當於常量

   當修飾方法時,說明方法是終態方法,不可以進行重寫操作

     當修飾類時,說明類是終態類(可以理解為最具體,不能再具體),不可以被繼承

 例如之前做的貓叫同時驚醒了人、老鼠和另一隻貓:

建立三個介面分別為人、老鼠、貓,

分別給他們自己的行為方法,然後再建立一個貓叫的類來調用這三個介面

之後用main函數來調用貓叫函數 實現貓叫驚醒了人、老鼠和另一隻貓

 

 

         

 

抽象類別和介面

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.