最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

詳解Java中接口的定義與實(shí)例代碼

 更新時(shí)間:2017年03月24日 11:47:04   投稿:lqh  
這篇文章主要介紹了詳解Java中接口的定義與實(shí)例代碼的相關(guān)資料,需要的朋友可以參考下

Java中接口的定義詳解

1、定義接口

    使用interface來(lái)定義一個(gè)接口。接口定義同類的定義類似,也是分為接口的聲明和接口體,其中接口體由常量定義和方法定義兩部分組成。定義接口的基本格式如下:

[修飾符] interface 接口名 [extends 父接口名列表]{
[public] [static] [final] 常量;
[public] [abstract] 方法;
}

修飾符:可選,用于指定接口的訪問(wèn)權(quán)限,可選值為public。如果省略則使用默認(rèn)的訪問(wèn)權(quán)限。

接口名:必選參數(shù),用于指定接口的名稱,接口名必須是合法的Java標(biāo)識(shí)符。一般情況下,要求首字母大寫。

extends 父接口名列表:可選參數(shù),用于指定要定義的接口繼承于哪個(gè)父接口。當(dāng)使用extends關(guān)鍵字時(shí),父接口名為必選參數(shù)。

方法:接口中的方法只有定義而沒有被實(shí)現(xiàn)。

例如,定義一個(gè)用于計(jì)算的接口,在該接口中定義了一個(gè)常量PI和兩個(gè)方法,具體代碼如下:

public interface CalInterface 
{ 
 final float PI=3.14159f;//定義用于表示圓周率的常量PI 
 float getArea(float r);//定義一個(gè)用于計(jì)算面積的方法getArea() 
 float getCircumference(float r);//定義一個(gè)用于計(jì)算周長(zhǎng)的方法getCircumference() 
} 

注意:

    與Java的類文件一樣,接口文件的文件名必須與接口名相同。

實(shí)現(xiàn)接口

接口在定義后,就可以在類中實(shí)現(xiàn)該接口。在類中實(shí)現(xiàn)接口可以使用關(guān)鍵字implements,其基本格式如下:
[修飾符] class <類名> [extends 父類名] [implements 接口列表]{
}

修飾符:可選參數(shù),用于指定類的訪問(wèn)權(quán)限,可選值為public、abstract和final。

類名:必選參數(shù),用于指定類的名稱,類名必須是合法的Java標(biāo)識(shí)符。一般情況下,要求首字母大寫。

extends 父類名:可選參數(shù),用于指定要定義的類繼承于哪個(gè)父類。當(dāng)使用extends關(guān)鍵字時(shí),父類名為必選參數(shù)。

implements 接口列表:可選參數(shù),用于指定該類實(shí)現(xiàn)的是哪些接口。當(dāng)使用implements關(guān)鍵字時(shí),接口列表為必選參數(shù)。當(dāng)接口列表中存在多個(gè)接口名時(shí),各個(gè)接口名之間使用逗號(hào)分隔。

    在類中實(shí)現(xiàn)接口時(shí),方法的名字、返回值類型、參數(shù)的個(gè)數(shù)及類型必須與接口中的完全一致,并且必須實(shí)現(xiàn)接口中的所有方法。例如,編寫一個(gè)名稱為Cire的類,該類實(shí)現(xiàn)5.7.1節(jié)中定義的接口Calculate,具體代碼如下:

public class Cire implements CalInterface 
{ 
 public float getArea(float r) 
 { 
  float area=PI*r*r;//計(jì)算圓面積并賦值給變量area 
  return area;//返回計(jì)算后的圓面積 
 } 
 public float getCircumference(float r) 
 { 
  float circumference=2*PI*r;  //計(jì)算圓周長(zhǎng)并賦值給變量circumference 
  return circumference;   //返回計(jì)算后的圓周長(zhǎng) 
 } 
 public static void main(String[] args) 
 { 
  Cire c = new Cire(); 
  float f = c.getArea(2.0f); 
  System.out.println(Float.toString(f)); 
 } 
} 

      在類的繼承中,只能做單重繼承,而實(shí)現(xiàn)接口時(shí),一次則可以實(shí)現(xiàn)多個(gè)接口,每個(gè)接口間使用逗號(hào)“,”分隔。這時(shí)就可能出現(xiàn)常量或方法名沖突的情況,解決該問(wèn)題時(shí),如果常量沖突,則需要明確指定常量的接口,這可以通過(guò)“接口名.常量”實(shí)現(xiàn)。如果出現(xiàn)方法沖突時(shí),則只要實(shí)現(xiàn)一個(gè)方法就可以了。下面通過(guò)一個(gè)具體的實(shí)例詳細(xì)介紹以上問(wèn)題的解決方法。

感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!

相關(guān)文章

  • 詳解SpringBoot如何自定義注解

    詳解SpringBoot如何自定義注解

    注解,也叫元數(shù)據(jù),一種代碼級(jí)別的說(shuō)明,它是JDK1.5及以后版本引入的一個(gè)特性,與類、接口、枚舉是在同一個(gè)層次,本文給大家詳細(xì)介紹了SpringBoot如何自定義注解,文中通過(guò)代碼講解的非常詳細(xì),需要的朋友可以參考下
    2024-08-08
  • javaweb購(gòu)物車案列學(xué)習(xí)開發(fā)

    javaweb購(gòu)物車案列學(xué)習(xí)開發(fā)

    這篇文章主要為大家詳細(xì)介紹了javaweb購(gòu)物車案列學(xué)習(xí)開發(fā)的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-05-05
  • IDEA報(bào)錯(cuò)Error?running‘Application‘:Command?line?is?too?long的問(wèn)題

    IDEA報(bào)錯(cuò)Error?running‘Application‘:Command?line?is?too?lo

    這篇文章主要介紹了IDEA報(bào)錯(cuò)Error?running?‘Application‘:Command?line?is?too?long的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-06-06
  • @Column映射不一致的解決

    @Column映射不一致的解決

    這篇文章主要介紹了@Column映射不一致的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-10-10
  • Java簡(jiǎn)單數(shù)組排序(冒泡法)

    Java簡(jiǎn)單數(shù)組排序(冒泡法)

    這篇文章主要介紹了Java簡(jiǎn)單數(shù)組排序,實(shí)例分析了基于冒泡法實(shí)現(xiàn)數(shù)組排序的相關(guān)技巧,簡(jiǎn)單實(shí)用,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-10-10
  • MyBatis中TypeHandler的使用教程詳解

    MyBatis中TypeHandler的使用教程詳解

    在我們平常開發(fā)操作數(shù)據(jù)庫(kù)時(shí),查詢、插入數(shù)據(jù)等操作行為,有時(shí)會(huì)報(bào)數(shù)據(jù)類型不匹配異常,就可以得知數(shù)據(jù)的類型是不唯一的必然是多種不同的數(shù)據(jù)類型,本文給大家介紹了MyBatis中TypeHandler的使用教程,需要的朋友可以參考下
    2024-12-12
  • java實(shí)現(xiàn)馬踏棋盤的算法

    java實(shí)現(xiàn)馬踏棋盤的算法

    這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)馬踏棋盤的算法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • 基于java變量和作用域以及成員變量的默認(rèn)初始化(詳解)

    基于java變量和作用域以及成員變量的默認(rèn)初始化(詳解)

    下面小編就為大家介紹一下java變量和作用域以及成員變量的默認(rèn)初始化,具有很好的參考價(jià)值,希望對(duì)大家有所幫助
    2017-11-11
  • Spring Cloud Alibaba 之 Nacos教程詳解

    Spring Cloud Alibaba 之 Nacos教程詳解

    Nacos是阿里的一個(gè)開源產(chǎn)品,它是針對(duì)微服務(wù)架構(gòu)中的服務(wù)發(fā)現(xiàn)、配置管理、服務(wù)治理的綜合性解決方案。這篇文章主要介紹了Spring Cloud Alibaba 之 Nacos的相關(guān)知識(shí),需要的朋友可以參考下
    2020-11-11
  • SpringBoot2 Jpa 批量刪除功能的實(shí)現(xiàn)

    SpringBoot2 Jpa 批量刪除功能的實(shí)現(xiàn)

    這篇文章主要介紹了SpringBoot2 Jpa 批量刪除功能的實(shí)現(xiàn),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2021-01-01

最新評(píng)論

沾化县| 巴林右旗| 德兴市| 德钦县| 白沙| 赤城县| 舟曲县| 密山市| 香河县| 塘沽区| 额尔古纳市| 建阳市| 孝昌县| 丹巴县| 蒲江县| 阿巴嘎旗| 蓝田县| 德州市| 贵州省| 泸州市| 五寨县| 科尔| 谢通门县| 洛阳市| 高淳县| 黄骅市| 逊克县| 石门县| 盱眙县| 噶尔县| 靖宇县| 沂水县| 镇沅| 松溪县| 湄潭县| 怀来县| 南澳县| 时尚| 台南市| 安泽县| 勃利县|