大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專注Java教育14年 全國(guó)咨詢/投訴熱線:400-8080-105
動(dòng)力節(jié)點(diǎn)LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁(yè) 學(xué)習(xí)攻略 Java為什么要使用接口?java接口的實(shí)現(xiàn)方式

Java為什么要使用接口?java接口的實(shí)現(xiàn)方式

更新時(shí)間:2019-09-12 10:27:47 來(lái)源:動(dòng)力節(jié)點(diǎn) 瀏覽3282次

  

今天動(dòng)力節(jié)點(diǎn)java培訓(xùn)機(jī)構(gòu)小編為大家分享“Java為什么要使用接口?java接口的實(shí)現(xiàn)方式”,希望通過(guò)此文能夠幫助到正在學(xué)習(xí)java的零基礎(chǔ)學(xué)員,下面就隨小編一起看看Java為什么要使用接口?java接口的實(shí)現(xiàn)方式有哪些?


timg (3).jpg

Java接口是什么


  Java接口是一系列方法的聲明,是一些方法特征的集合,一個(gè)接口只有方法的特征沒(méi)有方法的實(shí)現(xiàn),因此這些方法可以在不同的地方被不同的類實(shí)現(xiàn),而這些實(shí)現(xiàn)可以具有不同的行為(功能)。


  接口在JAVA編程語(yǔ)言中是一個(gè)抽象類型(Abstract Type),它被用來(lái)要求類(Class)必須實(shí)現(xiàn)指定的方法,使不同類的對(duì)象可以利用相同的界面進(jìn)行溝通。接口通常以interface來(lái)宣告,它僅能包含方法簽名(Method Signature)以及常數(shù)宣告(變量宣告包含了 static 及 final),一個(gè)接口不會(huì)包含方法的實(shí)現(xiàn)(僅有定義)。


  接口無(wú)法被實(shí)例化,但是可以被實(shí)現(xiàn)。一個(gè)實(shí)現(xiàn)接口的類,必須實(shí)現(xiàn)接口內(nèi)所描述的所有方法,否則就必須宣告為抽象類(Abstract Class)。另外,在Java中,接口類型可用來(lái)宣告一個(gè)變量,他們可以成為一個(gè)空指針,或是被綁定在一個(gè)以此接口實(shí)現(xiàn)的對(duì)象。


  其中一個(gè)使用接口的優(yōu)勢(shì)是,可以利用他們模擬多重繼承,類在JAVA中不允許多重繼承,所有在JAVA中的類必須而且僅能有一個(gè)父類,而java.lang.Object(JAVA類型系統(tǒng)中最頂層的類型)是唯一一個(gè)例外。


  JAVA的類可以被實(shí)現(xiàn)許多個(gè)接口,然而一個(gè)接口則無(wú)法實(shí)現(xiàn)其他的接口。


 

  Java為什么要使用接口


  實(shí)現(xiàn)具體功能時(shí),接口和實(shí)現(xiàn)的類分離。接口定義為XxxService,實(shí)現(xiàn)為XxxServiceImpl。接口提供了一個(gè)公用的方法提供方。 接口是用來(lái)規(guī)定子類的行為的。


  java面向接口編程的好處:


  1、根據(jù)客戶提出的需求提出來(lái),作為接口的;業(yè)務(wù)具體實(shí)現(xiàn)是通過(guò)實(shí)現(xiàn)接口類來(lái)完成的。


  2、當(dāng)客戶提出新的需求時(shí),只需編寫該需求業(yè)務(wù)邏輯新的實(shí)現(xiàn)類。


  3、假如采用了這種模式,業(yè)務(wù)邏輯更加清晰,增強(qiáng)代碼可讀性,擴(kuò)展性,可維護(hù)性。


  4、接口和實(shí)現(xiàn)分離,適合團(tuán)隊(duì)協(xié)作開(kāi)發(fā)。


  5、實(shí)現(xiàn)松散耦合的系統(tǒng),便于以后升級(jí),擴(kuò)展。


  

  Java接口能實(shí)現(xiàn)什么功能


  在Java語(yǔ)言規(guī)范中,一個(gè)方法的特征僅包括方法的名字,參數(shù)的數(shù)目和種類,而不包括方法的返回類型,參數(shù)的名字以及所拋出來(lái)的異常。在Java編譯器檢查方法的重載時(shí),會(huì)根據(jù)這些條件判斷兩個(gè)方法是否是重載方法。但在Java編譯器檢查方法的置換時(shí),則會(huì)進(jìn)一步檢查兩個(gè)方法(分處超類型和子類型)的返還類型和拋出的異常是否相同。


  Java接口本身沒(méi)有任何實(shí)現(xiàn),因?yàn)镴ava接口不涉及表象,而只描述public行為,所以Java接口比Java抽象類更抽象化。但是接口不是類,不能使用new 運(yùn)算符實(shí)例化一個(gè)接口。


  如:


  x=new comparable(……);//這個(gè)是錯(cuò)誤來(lái)的。


  但是可以聲明接口變量


  Comparable x; //這是允許的。


  Java接口的方法只能是抽象的和公開(kāi)的,Java接口不能有構(gòu)造器,Java接口可以有public、靜態(tài)的和final屬性。即接口中的屬性可以定義為


  public static final int value=5;


  接口把方法的特征和方法的實(shí)現(xiàn)分割開(kāi)來(lái)。這種分割體現(xiàn)在接口常常代表一個(gè)角色,它包裝與該角色相關(guān)的操作和屬性,而實(shí)現(xiàn)這個(gè)接口的類便是扮演這個(gè)角色的演員。一個(gè)角色由不同的演員來(lái)演,而不同的演員之間除了扮演一個(gè)共同的角色之外,并不要求其它的共同之處。



  java接口的定義方式如下


  接口的主體包含著抽象方法,但所有方法在接口內(nèi)(定義上)都是抽象(Abstract)方法,所以abstract的關(guān)鍵字在接口內(nèi)則不被需要。由于接口代表著一個(gè)對(duì)外行為的集合,所以任何方法在接口內(nèi)都是public(公開(kāi)的)。


  接口內(nèi)的成員皆為靜態(tài)(static)、final及公開(kāi)(public),反之,他們可以成為任何類或接口的類型


  接口的使用解決類只能單繼承的問(wèn)題,因?yàn)橐粋€(gè)類可以實(shí)現(xiàn)多個(gè)接口。



  java接口的實(shí)現(xiàn)方式


  如果一個(gè)類實(shí)現(xiàn)了一個(gè)接口,而沒(méi)有實(shí)現(xiàn)接口的所有方法,則它必須被標(biāo)注為abstract(抽象類)。一個(gè)抽象類的子類必須實(shí)現(xiàn)它未完成的方法,假如該項(xiàng)子類仍不會(huì)實(shí)現(xiàn)接口的所有方法,那么該項(xiàng)子類依然需要被標(biāo)注為abstract。


  接口通常被使用在Java編程語(yǔ)言,用來(lái)做回調(diào)函數(shù)使用[2] 。Java并不允許方法作為參數(shù)傳遞使用,因此,其中一個(gè)解決辦法則是可以定義一個(gè)接口,把這個(gè)接口當(dāng)成方法的參數(shù),以此來(lái)使用該項(xiàng)對(duì)象的方法簽名。


  子接口[編輯]


  接口可以被延伸為數(shù)個(gè)不同的接口,可以使用上述所描述的方法,舉例來(lái)說(shuō):


1.jpg

  以上的程序片段是合法定義的子接口,與類不同的是,接口允許多重繼承,而Predator 及 Venomous 可能定義或是繼承相同的方法,比如說(shuō)kill(Prey prey),當(dāng)一個(gè)類實(shí)現(xiàn)VenomousPredator的時(shí)候,它將同時(shí)實(shí)現(xiàn)這兩種方法。


  有些泛用的Java接口可供參考:


  Comparable


  擁有一個(gè)方法compareTo,用以描述兩個(gè)對(duì)象是否相等,或是其中一個(gè)對(duì)象大于另外一個(gè)對(duì)象。泛型允許已經(jīng)實(shí)現(xiàn)的類,其對(duì)象可以用來(lái)互相比較。


  Serializable 是一個(gè)marker interface 沒(méi)有任何接口或是字段,僅有一個(gè)空的主體,它被用來(lái)表示一個(gè)類可以被序列化。它的Javadoc描述了他是如何運(yùn)作,而且不需要被強(qiáng)制編程。


  為了能夠向上轉(zhuǎn)型為多個(gè)基類型。即利用接口的多實(shí)現(xiàn),可向上轉(zhuǎn)型為多個(gè)接口基類型。


u=4195299513,2392537383&fm=11&gp=0.jpg


以上就是動(dòng)力節(jié)點(diǎn)java培訓(xùn)機(jī)構(gòu)小編分享的“Java為什么要使用接口?java接口的實(shí)現(xiàn)方式”的內(nèi)容,希望對(duì)大家有幫助,更多java最新資訊請(qǐng)繼續(xù)關(guān)注動(dòng)力節(jié)點(diǎn)java培訓(xùn)機(jī)構(gòu)官網(wǎng),每天會(huì)有精彩內(nèi)容分享與你。


相關(guān)免費(fèi)視頻教程推薦——java菜鳥(niǎo)教程下載:


java接口使項(xiàng)目分層代碼實(shí)現(xiàn):http://www.dabaquan.cn/xiazai/2567.html


java接口使項(xiàng)目分層描述:http://www.dabaquan.cn/xiazai/2568.html


java面向接口編程:http://www.dabaquan.cn/xiazai/2569.html


java接口的應(yīng)用:http://www.dabaquan.cn/xiazai/2570.html


java接口與抽象類的異同點(diǎn):http://www.dabaquan.cn/xiazai/2571.html


java接口說(shuō)明:http://www.dabaquan.cn/xiazai/2572.html


java接口的定義與實(shí)現(xiàn):http://www.dabaquan.cn/xiazai/2575.html


提交申請(qǐng)后,顧問(wèn)老師會(huì)電話與您溝通安排學(xué)習(xí)

  • 全國(guó)校區(qū) 2025-06-26 搶座中
免費(fèi)課程推薦 >>
技術(shù)文檔推薦 >>
主站蜘蛛池模板: 911国产视频 | 亚洲精品日韩中文字幕久久久 | 四虎影视在线观看2022a | 国产成人精品高清在线 | 四虎影视国产精品婷婷 | 毛片免费观看视频 | 亚洲香蕉久久一区二区三区四区 | 欧美日本在线一区二区三区 | 一区二区三区免费精品视频 | 免费看欧美毛片大片免费看 | 男人的私人影院 | 91在线网址| 久久久久久99精品 | 国产精品自在欧美一区 | 国产91小视频 | 中文字幕在线观看 | 亚洲国产欧美在线 | 97在线免费视频观看 | 天天干天天干天天色 | 欧美成人高清视频 | 国产成人久久精品一区二区三区 | 五月免费视频 | 亚洲大片免费观看 | 亚洲酷色综合 | 欧美成人观看视频在线 | 久久精品国产影库免费看 | 天天视频黄 | 一级毛片高清 | 久久久99精品 | 欧美精品国产 | 日韩在线2020专区 | 日产精品一二三四区国产 | 日日操天天 | 97在线观看成人免费视频 | 国产无套免费网站 | 国产一区二区不卡 | 日韩精品中文字幕一区二区三区 | 精品国产午夜久久久久九九 | 奇米线在人线免费视频 | 青青草99热这里都是精品 | 日本免费黄色录像 |