今天北大青鳥長(zhǎng)沙麓谷校區(qū)java培訓(xùn)機(jī)構(gòu)小編為大家介紹“java中接口的定義與實(shí)現(xiàn)”,希望通過此內(nèi)容能夠幫助到正在學(xué)習(xí)java的零基礎(chǔ)學(xué)員,下面就隨小編一起看看解java中接口的定義與實(shí)現(xiàn)。
1、java接口的定義
使用interface來定義一個(gè)接口。接口定義同類的定義類似,也是分為接口的聲明和接口體,其中接口體由常量定義和方法定義兩部分組成。定義接口的基本格式如下:
[修飾符] interface 接口名 [extends 父接口名列表]{
[public] [static] [final] 常量; [public] [abstract] 方法; } 修飾符:可選,用于指定接口的訪問權(quán)限,可選值為public。如果省略則使用默認(rè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的類文件一樣,接口文件的文件名必須與接口名相同。
2、接口的實(shí)現(xiàn)
接口在定義后,就可以在類中實(shí)現(xiàn)該接口。在類中實(shí)現(xiàn)接口可以使用關(guān)鍵字implements,其基本格式如下:
[修飾符] class <類名> [extends 父類名] [implements 接口列表]{
}
修飾符:可選參數(shù),用于指定類的訪問權(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)常量或方法名沖突的情況,解決該問題時(shí),如果常量沖突,則需要明確指定常量的接口,這可以通過“接口名.常量”實(shí)現(xiàn)。如果出現(xiàn)方法沖突時(shí),則只要實(shí)現(xiàn)一個(gè)方法就可以了。
以上就是北大青鳥長(zhǎng)沙麓谷校區(qū)java培訓(xùn)機(jī)構(gòu)小編介紹的“java中接口的定義與實(shí)現(xiàn)”的內(nèi)容,希望對(duì)大家有幫助,更多java最新資訊請(qǐng)繼續(xù)關(guān)注北大青鳥長(zhǎng)沙麓谷校區(qū)java培訓(xùn)機(jī)構(gòu)官網(wǎng),每天會(huì)有精彩內(nèi)容分享與你。
相關(guān)免費(fèi)視頻教程推薦——java菜鳥教程下載:
java接口使項(xiàng)目分層代碼實(shí)現(xiàn):http://www.bjpowernode.com/xiazai/2567.html
java接口使項(xiàng)目分層描述:http://www.bjpowernode.com/xiazai/2568.html
java面向接口編程:http://www.bjpowernode.com/xiazai/2569.html
java接口的應(yīng)用:http://www.bjpowernode.com/xiazai/2570.html
java接口與抽象類的異同點(diǎn):http://www.bjpowernode.com/xiazai/2571.html
java接口說明:http://www.bjpowernode.com/xiazai/2572.html
java接口的定義與實(shí)現(xiàn):http://www.bjpowernode.com/xiazai/2575.html