av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

您的位置:首頁技術文章
文章詳情頁

詳解JAVA中接口的定義和接口的實現

瀏覽:15日期:2022-08-31 15:00:57

1.接口的定義

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

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

修飾符:可選,用于指定接口的訪問權限,可選值為public。如果省略則使用默認的訪問權限。

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

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

方法:接口中的方法只有定義而沒有被實現。

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

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

注意:

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

2.接口的實現

接口在定義后,就可以在類中實現該接口。在類中實現接口可以使用關鍵字implements,其基本格式如下:

[修飾符] class <類名> [extends 父類名] [implements 接口列表]{}

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

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

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

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

接口對于其聲明、變量和方法都做了許多限制,這些限制作為接口的特征歸納如下:

(1) 具有 public 訪問控制符的接口,允許任何類使用;沒有指定 public 的接口,其訪問將局限于所屬的包。

(2) 方法的聲明不需要其他修飾符,在接口中聲明的方法,將隱式地聲明為公有的(public)和抽象的(abstract)。

(3) 在 Java 接口中聲明的變量其實都是常量,接口中的變量聲明,將隱式地聲明為 public、static 和 final,即常量,所以接口中定義的變量必須初始化。

(4) 接口沒有構造方法,不能被實例化。

(5) 一個接口不能夠實現另一個接口,但它可以繼承多個其他接口。子接口可以對父接口的方法和常量進行重寫

在類中實現接口時,方法的名字、返回值類型、參數的個數及類型必須與接口中的完全一致,并且必須實現接口中的所有方法。例如,編寫一個名稱為Cire的類,該類實現5.7.1節中定義的接口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)); }}

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

以上就是詳解JAVA中接口的定義和接口的實現的詳細內容,更多關于JAVA 接口定義和接口實現的資料請關注好吧啦網其它相關文章!

標簽: Java
相關文章:
主站蜘蛛池模板: 亚洲精品久久 | 特级黄一级播放 | 91精品国产91久久久久久不卞 | 久草久 | 欧美成人一级 | 国产97在线 | 日韩 | 天天干狠狠操 | 国产精品免费一区二区三区四区 | 久久lu | 亚洲视频免费 | 久久亚洲一区 | 91精品国产综合久久久久久蜜臀 | 久久av综合| 视频一区在线观看 | 久久国产精品视频 | 久久av一区二区三区 | 亚洲一区免费 | 黄色片在线观看网址 | 久久久久久免费精品一区二区三区 | 91精品久久久久久久久 | 久久久久资源 | 91亚洲国产成人久久精品网站 | 嫩草伊人| 91精品国产91久久久久久最新 | 夜夜爽99久久国产综合精品女不卡 | 精品国产乱码久久久久久闺蜜 | 天天干天天干 | 欧美日韩在线观看一区二区三区 | 国产欧美日韩精品一区 | 午夜久久久久久久久久一区二区 | 色婷婷av久久久久久久 | 午夜一区二区三区在线观看 | 国产在线97 | 影音先锋成人资源 | avmans最新导航地址 | 国产精品久久久久久久久久久久久 | 国产精品久久久久久久一区二区 | 国产精品一区二区三区四区 | 日韩一区二区不卡 | 91av免费版 | 日本二区在线观看 |