欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

Java中接口的定義詳解

1、定義接口

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

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

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

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

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

方法:接口中的方法只有定義而沒(méi)有被實(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的類(lèi)文件一樣,接口文件的文件名必須與接口名相同。

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

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

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

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

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

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

    在類(lèi)中實(shí)現(xiàn)接口時(shí),方法的名字、返回值類(lèi)型、參數(shù)的個(gè)數(shù)及類(lèi)型必須與接口中的完全一致,并且必須實(shí)現(xiàn)接口中的所有方法。例如,編寫(xiě)一個(gè)名稱(chēng)為Cire的類(lèi),該類(lèi)實(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)); 
 } 
} 

      在類(lèi)的繼承中,只能做單重繼承,而實(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)文章

  • JAVA NIO實(shí)現(xiàn)簡(jiǎn)單聊天室功能

    JAVA NIO實(shí)現(xiàn)簡(jiǎn)單聊天室功能

    這篇文章主要為大家詳細(xì)介紹了JAVA NIO實(shí)現(xiàn)簡(jiǎn)單聊天室功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-11-11
  • java使用itext如何直接生成pdf

    java使用itext如何直接生成pdf

    在工作中,制作PDF文件是常見(jiàn)需求,尤其是需要插入動(dòng)態(tài)數(shù)據(jù)或圖像時(shí),使用PDF模板填充表單域通常足夠,但對(duì)于復(fù)雜文件,可以通過(guò)拼接PDF內(nèi)容來(lái)靈活排版,iText庫(kù)提供了豐富的PDF操作功能,如設(shè)置頁(yè)面大小、邊距、字體、生成動(dòng)態(tài)表格、添加水印、設(shè)置密碼等
    2024-09-09
  • Java 高并發(fā)十: JDK8對(duì)并發(fā)的新支持詳解

    Java 高并發(fā)十: JDK8對(duì)并發(fā)的新支持詳解

    本文主要介紹Java 高并發(fā)JDK8的支持,這里整理了詳細(xì)的資料及1. LongAdder 2. CompletableFuture 3. StampedLock的介紹,有興趣的小伙伴可以參考下
    2016-09-09
  • 使用IDEA搭建MyBatis環(huán)境詳細(xì)過(guò)程

    使用IDEA搭建MyBatis環(huán)境詳細(xì)過(guò)程

    這篇文章主要介紹了使用IDEA搭建MyBatis環(huán)境的相關(guān)知識(shí),包括創(chuàng)建項(xiàng)目的過(guò)程及導(dǎo)入mybatis的核心jar包的詳細(xì)說(shuō)明,本文通過(guò)圖文實(shí)例代碼相結(jié)合給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2021-05-05
  • 淺談多線程_讓程序更高效的運(yùn)行

    淺談多線程_讓程序更高效的運(yùn)行

    下面小編就為大家?guī)?lái)一篇淺談多線程_讓程序更高效的運(yùn)行。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-10-10
  • SpringBoot之spring.factories的使用方式

    SpringBoot之spring.factories的使用方式

    這篇文章主要介紹了SpringBoot之spring.factories的使用方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-01-01
  • 使用Java實(shí)現(xiàn)加密之AES加解密

    使用Java實(shí)現(xiàn)加密之AES加解密

    這篇文章主要介紹了使用Java實(shí)現(xiàn)加密之AES加解密,AES為最常見(jiàn)的對(duì)稱(chēng)加密算法,對(duì)稱(chēng)加密算法也就是加密和解密用相同的密鑰,需要的朋友可以參考下
    2023-05-05
  • SptingBoot過(guò)濾器Filter的使用詳解

    SptingBoot過(guò)濾器Filter的使用詳解

    這篇文章主要介紹了SptingBoot過(guò)濾器Filter的使用詳解,Filter屬于Servlet規(guī)范,并不是Spring獨(dú)有的,Filter主要用于攔截請(qǐng)求,做一些業(yè)務(wù)邏輯操作,然后可以決定請(qǐng)求是否可以繼續(xù)往下分發(fā),落到其他的Filter或者對(duì)應(yīng)的Servlet,需要的朋友可以參考下
    2023-09-09
  • Java實(shí)現(xiàn)斗地主的發(fā)牌功能

    Java實(shí)現(xiàn)斗地主的發(fā)牌功能

    這篇文章主要為大家詳細(xì)介紹了Java實(shí)現(xiàn)斗地主的發(fā)牌功能,含按順序發(fā)牌和玩家牌排序顯示等功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-06-06
  • RabbitMQ的Direct Exchange模式實(shí)現(xiàn)的消息發(fā)布案例(示例代碼)

    RabbitMQ的Direct Exchange模式實(shí)現(xiàn)的消息發(fā)布案例(示例代碼)

    本文介紹了RabbitMQ的DirectExchange模式下的消息發(fā)布和消費(fèi)的實(shí)現(xiàn),詳細(xì)說(shuō)明了如何在DirectExchange模式中進(jìn)行消息的發(fā)送和接收,以及消息處理的基本方法,感興趣的朋友跟隨小編一起看看吧
    2024-09-09

最新評(píng)論