qileilove

          blog已經(jīng)轉(zhuǎn)移至github,大家請訪問 http://qaseven.github.io/

          Java中接口的定義與實現(xiàn)

            1、定義接口
            使用interface來定義一個接口。接口定義同類的定義類似,也是分為接口的聲明和接口體,其中接口體由常量定義和方法定義兩部分組成。定義接口的基本格式如下:
            [修飾符] interface 接口名 [extends 父接口名列表]{
            [public] [static] [final] 常量;
            [public] [abstract] 方法;
            }
            修飾符:可選,用于指定接口的訪問權(quán)限,可選值為public。如果省略則使用默認(rèn)的訪問權(quán)限。
            接口名:必選參數(shù),用于指定接口的名稱,接口名必須是合法的Java標(biāo)識符。一般情況下,要求首字母大寫。
            extends 父接口名列表:可選參數(shù),用于指定要定義的接口繼承于哪個父接口。當(dāng)使用extends關(guān)鍵字時,父接口名為必選參數(shù)。
            方法:接口中的方法只有定義而沒有被實現(xiàn)。
            例如,定義一個用于計算的接口,在該接口中定義了一個常量PI和兩個方法,具體代碼如下:
          public interface CalInterface
          {
          final float PI=3.14159f;//定義用于表示圓周率的常量PI
          float getArea(float r);//定義一個用于計算面積的方法getArea()
          float getCircumference(float r);//定義一個用于計算周長的方法getCircumference()
          }
            注意:
            與Java的類文件一樣,接口文件的文件名必須與接口名相同。
            實現(xiàn)接口
            接口在定義后,就可以在類中實現(xiàn)該接口。在類中實現(xiàn)接口可以使用關(guān)鍵字implements,其基本格式如下:
            [修飾符] class <類名> [extends 父類名] [implements 接口列表]{
            }
            修飾符:可選參數(shù),用于指定類的訪問權(quán)限,可選值為public、abstract和final。
            類名:必選參數(shù),用于指定類的名稱,類名必須是合法的Java標(biāo)識符。一般情況下,要求首字母大寫。
            extends 父類名:可選參數(shù),用于指定要定義的類繼承于哪個父類。當(dāng)使用extends關(guān)鍵字時,父類名為必選參數(shù)。
            implements 接口列表:可選參數(shù),用于指定該類實現(xiàn)的是哪些接口。當(dāng)使用implements關(guān)鍵字時,接口列表為必選參數(shù)。當(dāng)接口列表中存在多個接口名時,各個接口名之間使用逗號分隔。
            在類中實現(xiàn)接口時,方法的名字、返回值類型、參數(shù)的個數(shù)及類型必須與接口中的完全一致,并且必須實現(xiàn)接口中的所有方法。例如,編寫一個名稱為Cire的類,該類實現(xiàn)5.7.1節(jié)中定義的接口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));
          }
          }
            在類的繼承中,只能做單重繼承,而實現(xiàn)接口時,一次則可以實現(xiàn)多個接口,每個接口間使用逗號“,”分隔。這時就可能出現(xiàn)常量或方法名沖突的情況,解決該問 題時,如果常量沖突,則需要明確指定常量的接口,這可以通過“接口名.常量”實現(xiàn)。如果出現(xiàn)方法沖突時,則只要實現(xiàn)一個方法就可以了。下面通過一個具體的 實例詳細(xì)介紹以上問題的解決方法。

          posted on 2014-09-23 09:43 順其自然EVO 閱讀(168) 評論(0)  編輯  收藏 所屬分類: 測試學(xué)習(xí)專欄

          <2014年9月>
          31123456
          78910111213
          14151617181920
          21222324252627
          2829301234
          567891011

          導(dǎo)航

          統(tǒng)計

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 昌邑市| 大余县| 澄江县| 商河县| 连平县| 佳木斯市| 张家港市| 博白县| 巩留县| 兴化市| 轮台县| 淄博市| 武宣县| 宝兴县| 远安县| 南阳市| 淮滨县| 开原市| 沽源县| 留坝县| 鄢陵县| 涞水县| 罗江县| 日照市| 馆陶县| 达州市| 屏南县| 鄯善县| 德保县| 古交市| 广丰县| 陆良县| 塔河县| 桂阳县| 宽甸| 睢宁县| 潜江市| 河源市| 泸溪县| 北海市| 新兴县|