當前位置:首頁 » 編程語言 » java介面關鍵字

java介面關鍵字

發布時間: 2023-08-21 18:15:49

java實現介面的關鍵字是________

implements

/*實現Runnable借口*/{

/**
*@paramargs
*/
publicstaticvoidmain(String[]args){

}

@Override/*覆蓋Runnable借口的run()方法實現多線程*/
publicvoidrun(){

}

}

⑵ JAVA實現介面的關鍵字是什麼

Java中定義介面的關鍵字是什麼?. Java中定義介面的關鍵字是「interface」。. 「interface」是面向對象編程語言中介面操作的關鍵字,功能是把所需成員組合起來,用來裝封一定功能的集合。. 介面不能直接實例化,也不能包含成員的任何代碼,只定義成員本身。.

⑶ java如何寫一個介面

非常簡單,基礎語法:
public interface 介面名 {
常量定義;
抽象方法定義;
default 方法定義;

}
即使你在介面中不定義任何方法,也是可以的。

⑷ java怎麼定義一個介面

java中介面的定義和介面的實現

1.介面的定義

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

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

[public] [static] [final] 常量;

[public] [abstract] 方法;

}

修飾符:可選,用於指定介面的訪問許可權,可選值為public。如果省略則使用默認的訪問許可權。

介面名:必選參數,用於指定介面的名稱,介面名必須是合法的Java標識符。一般情況下,要求首字母大寫。

extends 父介面名列表:可選參數,用於指定要定義的介面繼承於哪個父介面。當使用extends關鍵字時,父介面名為必選參數。

方法:介面中的方法只有定義而沒有被實現。

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

1 public interface CalInterface

2 {

3 final float PI=3.14159f;//定義用於表示圓周率的常量PI

4 float getArea(float r);//定義一個用於計算面積的方法getArea()

5 float getCircumference(float r);//定義一個用於計算周長的方法getCircumference()

6 }

注意:

與Java的類文件一樣,介面文件的文件名必須與介面名相同。

2.介面的實現

介面在定義後,就可以在類中實現該介面。在類中實現介面可以使用關鍵字implements,其基本格好橡式如下:

[修飾符] class <類名> [extends 父類名] [implements 介面列表]{

}

修飾符:可選參數,用於指定類的訪問許可權,可選值為public、abstract和final。

類名:必選參數,用於指定類的名稱,類名必須是合法的Java標識符。一般情況下,要求首字母大寫。

extends 父類名:可選參數,用於指定要定義的類繼承於哪個父類。當使用extends關鍵字時,父類名為必選參數。

implements 介面列表:可選參數,用於指定該類實現的是哪些介面。當使用implements關鍵字時,介面列表為必選參數。當介面列表中存在多個介面名時,各個介面名之間使用逗號分隔。

在類中實現介面時,方法的名字、返回值類型、參數的個數及類型必須與介面中的完全一致,並且必須實現介面中的所有方法。例如,編寫一個名稱為Cire的類,該類實現5.7.1節中定義的介面Calculate,具體代碼如下:

1 public class Cire implements CalInterface

2 {

3 public float getArea(float r)

4 {

5 float area=PI*r*r;//計算圓面積並賦值給變數area

6 return area;//返回計算後的圓面積

7 }

8 public float getCircumference(float r)

9 {

10 float circumference=2*PI*r; //計算圓周長並賦值給變數circumference

11 return circumference; //返回計算後的圓周長

12 }

13 public static void main(String[] args)

14 {

15 Cire c = new Cire();

16 float f = c.getArea(2.0f);

17 System.out.println(Float.toString(f));

18 }

19 }

在類的繼承中,只能做單重繼承,而實現介面時,一次則可以實現多個介面,每個介面間使用逗號「,」分隔。這時就可能出現常量或方法名沖突的情況,解決該問題時,如果常量沖突,則需要明確指定常量的介面,這可以通過「介面名.常量」實現。如果出灶襪雹現方法沖突時,則只要實現一個方法就可以了。下面通過一個具體的實例詳細介紹以上問題的解決方法。

⑸ java程序中定義介面所使用的關鍵字是什麼,


Java中介面使用interface關鍵字來聲明

現實中也有很多介面的實例,比如說串口電腦硬碟,SerialATA委員會指定了SerialATA2.0規范,這種規范就是介面。SerialATA委員會不負責生產硬碟,只是指定通用的規范。

希捷、日立、三星等生產廠家會按照規范生產符合介面的硬碟,這些硬碟就可以實現通用化,如果正在用一塊160G日立的串口硬碟,現在要升級了,可以購買一塊320G的希捷串口硬碟,安裝上去就可以繼續使用了。

下面的代碼可以模擬SerialATA委員會定義以下串口硬碟介面://串列硬碟介面publicinterfaceSataHdd{//連接線的數量publicstaticfinalintCONNECT_LINE=4;//寫數據publicvoidwriteData(Stringdata);//讀數據publicStringreadData();}
注意:介面中聲明的成員變數默認都是publicstaticfinal的,必須顯示的初始化。因而在常量聲明時可以省略這些修飾符。

介面是若干常量和抽象方法的集合,目前看來和抽象類差不多。確實如此,介面本就是從抽象類中演化而來的,因而除特別規定,介面享有和類同樣的「待遇」。比如,源程序中可以定義多個類或介面,但最多隻能有一個public的類或介面,如果有則源文件必須取和public的類和介面相同的名字。和類的繼承格式一樣,介面之間也可以繼承,子介面可以繼承父介面中的常量和抽象方法並添加新的抽象方法等。

但介面有其自身的一些特性,歸納如下。

1)介面中只能定義抽象方法,這些方法默認為publicabstract的,因而在聲明方法時可以省略這些修飾符。試圖在介面中定義實例變數、非抽象的實例方法及靜態方法,都是非法的。例如:publicinterfaceSataHdd{//連接線的數量publicintconnectLine;//編譯出錯,connectLine被看做靜態常量,必須顯式初始化//寫數據protectedvoidwriteData(Stringdata);//編譯出錯,必須是public類型//讀數據publicstaticStringreadData(){//編譯出錯,介面中不能包含靜態方法return"數據";//編譯出錯,介面中只能包含抽象方法,}}

3)介面中沒有構造方法,不能被實例化。

4)一個介面不實現另一個介面,但可以繼承多個其他介面。介面的多繼承特點彌補了類的單繼承。例如://串列硬碟介面,B{//連接線的數量publicstaticfinalintCONNECT_LINE=4;//寫數據publicvoidwriteData(Stringdata);//讀數據publicStringreadData();}interfaceA{publicvoida();}interfaceB{publicvoidb();}
為什麼使用介面
大型項目開發中,可能需要從繼承鏈的中間插入一個類,讓它的子類具備某些功能而不影響它們的父類。例如A->B->C->D->E,A是祖先類,如果需要為C、D、E類添加某些通用的功能,最簡單的方法是讓C類再繼承另外一個類。但是問題來了,Java是一種單繼承的語言,不能再讓C繼承另外一個父類了,只到移動到繼承鏈的最頂端,讓A再繼承一個父類。這樣一來,對C、D、E類的修改,影響到了整個繼承鏈,不具備可插入性的設計。

介面是可插入性的保證。在一個繼承鏈中的任何一個類都可以實現一個介面,這個介面會影響到此類的所有子類,但不會影響到此類的任何父類。此類將不得不實現這個介面所規定的方法,而子類可以從此類自動繼承這些方法,這時候,這些子類具有了可插入性。

我們關心的不是哪一個具體的類,而是這個類是否實現了我們需要的介面。

介面提供了關聯以及方法調用上的可插入性,軟體系統的規模越大,生命周期越長,介面使得軟體系統的靈活性和可擴展性,可插入性方面得到保證。

介面在面向對象的Java程序設計中佔有舉足輕重的地位。事實上在設計階段最重要的任務之一就是設計出各部分的介面,然後通過介面的組合,形成程序的基本框架結構。介面的使用
介面的使用與類的使用有些不同。在需要使用類的地方,會直接使用new關鍵字來構建一個類的實例,但介面不可以這樣使用,因為介面不能直接使用new關鍵字來構建實例。

介面必須通過類來實現(implements)它的抽象方法,然後再實例化類。類實現介面的關鍵字為implements。

如果一個類不能實現該介面的所有抽象方法,那麼這個類必須被定義為抽象方法。

不允許創建介面的實例,但允許定義介面類型的引用變數,該變數指向了實現介面的類的實例。

一個類只能繼承一個父類,但卻可以實現多個介面。

實現介面的格式如下:
修飾符class類名extends父類implements多個介面{
實現方法
}

請看下面的例子:importstaticjava.lang.System.*;publicclassDemo{publicstaticvoidmain(String[]args){SataHddsh1=newSeagateHdd();//初始化希捷硬碟SataHddsh2=newSamsungHdd();//初始化三星硬碟}}//串列硬碟介面interfaceSataHdd{//連接線的數量publicstaticfinalintCONNECT_LINE=4;//寫數據publicvoidwriteData(Stringdata);//讀數據publicStringreadData();}//維修硬碟介面interfacefixHdd{//維修地址Stringaddress="北京市海淀區";//開始維修booleandoFix();}//希捷硬碟,fixHdd{//希捷硬碟讀取數據publicStringreadData(){return"數據";}//希捷硬碟寫入數據publicvoidwriteData(Stringdata){out.println("寫入成功");}//維修希捷硬碟publicbooleandoFix(){returntrue;}}//三星硬碟{//三星硬碟讀取數據publicStringreadData(){return"數據";}//三星硬碟寫入數據publicvoidwriteData(Stringdata){out.println("寫入成功");}}//某劣質硬碟,不能寫數據{//硬碟讀取數據publicStringreadData(){return"數據";}}
介面作為類型使用
介面作為引用類型來使用,任何實現該介面的類的實例都可以存儲在該介面類型的變數中,通過這些變數可以訪問類中所實現的介面中的方法,Java運行時系統會動態地確定應該使用哪個類中的方法,實際上是調用相應的實現類的方法。

示例如下:publicclassDemo{publicvoidtest1(Aa){a.doSth();}publicstaticvoidmain(String[]args){Demod=newDemo();Aa=newB();d.test1(a);}}interfaceA{publicintdoSth();}classBimplementsA{publicintdoSth(){System.out.println("nowinB");return123;}}
運行結果:
nowinB

大家看到介面可以作為一個類型來使用,把介面作為方法的參數和返回類型。
熱點內容
存儲光碟數據恢復 發布:2025-02-05 05:43:50 瀏覽:383
android位置信息嗎 發布:2025-02-05 05:43:45 瀏覽:439
畫師怎麼配置電腦 發布:2025-02-05 05:38:56 瀏覽:968
c語言實驗心得與小結 發布:2025-02-05 05:38:54 瀏覽:806
越南搭建伺服器 發布:2025-02-05 05:34:03 瀏覽:979
php與oracle資料庫 發布:2025-02-05 05:34:01 瀏覽:469
搶紅包Android 發布:2025-02-05 05:32:22 瀏覽:275
摩托車壓縮 發布:2025-02-05 05:23:48 瀏覽:609
access的sql語句怎麼寫 發布:2025-02-05 05:23:47 瀏覽:355
java的社區 發布:2025-02-05 05:21:36 瀏覽:70