java中介面的定義與實現

來源:互聯網
上載者:User

標籤:style   color   java   使用   os   strong   檔案   art   

1、定義介面
    使用interface來定義一個介面。介面定義同類的定義類似,也是分為介面的聲明和介面體,當中介面體由常量定義和方法定義兩部分組成。定義介面的基本格式例如以下:

[修飾符] interface 介面名 [extends 父介面名列表]{

[public] [static] [final] 常量;
[public] [abstract] 方法;
}
修飾符:可選,用於指定介面的訪問許可權,可選值為public。假設省略則使用預設的訪問許可權。
介面名:必選參數,用於指定介面的名稱,介面名必須是合法的Java標識符。普通情況下,要求首字母大寫。
extends 父介面名列表:可選參數,用於指定要定義的介面繼承於哪個父介面。當使用extendskeyword時,父介面名為必選參數。
方法:介面中的方法僅僅有定義而沒有被實現。

比如,定義一個用於計算的介面,在該介面中定義了一個常量PI和兩個方法,詳細代碼例如以下:

public interface CalInterface {    final float PI=3.14159f;//定義用於表示圓周率的常量PI    float getArea(float r);//定義一個用於計算面積的方法getArea()    float getCircumference(float r);//定義一個用於計算周長的方法getCircumference()}
注意:
    與Java的類檔案一樣,介面檔案的檔案名稱必須與介面名同樣。
實現介面
介面在定義後,就能夠在類中實現該介面。在類中實現介面能夠使用keywordimplements,其基本格式例如以下:
[修飾符] class <類名> [extends 父類名] [implements 介面列表]{
}
修飾符:可選參數,用於指定類的訪問許可權,可選值為public、abstract和final。
類名:必選參數,用於指定類的名稱,類名必須是合法的Java標識符。普通情況下,要求首字母大寫。
extends 父類名:可選參數,用於指定要定義的類繼承於哪個父類。當使用extendskeyword時,父類名為必選參數。
implements 介面列表:可選參數,用於指定該類實現的是哪些介面。當使用implementskeyword時,介面列表為必選參數。當介面列表中存在多個介面名時,各個介面名之間使用逗號分隔。
    在類中實現介面時,方法的名字、返回值類型、參數的個數及類型必須與介面中的全然一致,而且必須實現介面中的全部方法。比如,編寫一個名稱為Cire的類,該類實現5.7.1節中定義的介面Calculate,詳細代碼例如以下:
public class Cire implements CalInterface {    public float getArea(float r)     {        float area=PI*r*r;//計算圓面積並賦值給變數area        return area;//返回計算後的圓面積    }    public float getCircumference(float r)     {        float circumference=2*PI*r;      //計算圓周長並賦值給變數circumference        return circumference;           //返回計算後的圓周長    }    public static void main(String[] args)     {        Cire c = new Cire();        float f = c.getArea(2.0f);        System.out.println(Float.toString(f));    }}
      在類的繼承中,僅僅能做單重繼承,而實現介面時,一次則能夠實現多個介面,每一個介面間使用逗號“,”分隔。這時就可能出現常量或方法名衝突的情況,解決該問題時,假設常量衝突,則須要明白指定常量的介面,這能夠通過“介面名.常量”實現。假設出現方法衝突時,則僅僅要實現一個方法就能夠了。以下通過一個具體的執行個體具體介紹以上問題的解決方案。

相關文章

聯繫我們

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