黄色网址大全免费-黄色网址你懂得-黄色网址你懂的-黄色网址有那些-免费超爽视频-免费大片黄国产在线观看

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動(dòng)力節(jié)點(diǎn)LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 學(xué)習(xí)攻略 java接口的作用和意義是什么

java接口的作用和意義是什么

更新時(shí)間:2019-09-12 09:47:44 來源:動(dòng)力節(jié)點(diǎn) 瀏覽2612次

今天動(dòng)力節(jié)點(diǎn)java培訓(xùn)機(jī)構(gòu)小編為大家介紹java接口的作用和意義是什么,希望通過此文大家能夠掌握java接口的作用和意義,下面就隨小編一起看看java接口的作用和意義是什么。

微信截圖_20190703153336.jpg

  java接口的定義

  接口在JAVA編程語言中是一個(gè)抽象類型,是抽象方法的集合,接口通常以interface來聲明。一個(gè)類通過繼承接口的方式,從而來繼承接口的抽象方法。

  接口并不是類,編寫接口的方式和類很相似,但是它們屬于不同的概念。類描述對象的屬性和方法。接口則包含類要實(shí)現(xiàn)的方法。

  除非實(shí)現(xiàn)接口的類是抽象類,否則該類要定義接口中的所有方法。

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

  java接口的作用

  1、通過接口可以實(shí)現(xiàn)不相關(guān)類的相同行為,而不需要了解對象所對應(yīng)的類。

  2、通過接口可以指明多個(gè)類需要實(shí)現(xiàn)的方法。

  3、通過接口可以了解對象的交互界面,而不需了解對象所對應(yīng)的類。

  類描述了一個(gè)實(shí)體,包括實(shí)體的狀態(tài),也包括實(shí)體可能發(fā)出的動(dòng)作。

  接口定義了一個(gè)實(shí)體可能發(fā)出的動(dòng)作。但是只是定義了這些動(dòng)作的原型,沒有實(shí)現(xiàn),也沒有任何狀態(tài)信息。

  所以接口有點(diǎn)象一個(gè)規(guī)范、一個(gè)協(xié)議,是一個(gè)抽象的概念;而類則是實(shí)現(xiàn)了這個(gè)協(xié)議,滿足了這個(gè)規(guī)范的具體實(shí)體,是一個(gè)具體的概念。

  從程序角度,簡單理解,接口就是函數(shù)聲明,類就是函數(shù)實(shí)現(xiàn)。需要注意的是同一個(gè)聲明可能有很多種實(shí)現(xiàn)。

  (1)接口中定義類方法的原型,但是不能說是空方法,因?yàn)榭辗椒ǖ囊馑际怯袑?shí)現(xiàn)體,只不過實(shí)現(xiàn)體是空操作。實(shí)際上接口沒有定義任何實(shí)現(xiàn)體。具體的實(shí)現(xiàn)體都是在實(shí)現(xiàn)接口的類中,接口只是定義了這些方法的調(diào)用方式。

  (2)一個(gè)類描述了一個(gè)實(shí)體,這個(gè)實(shí)體可能是一個(gè)復(fù)雜的對象,它的動(dòng)作很多,如果把這些動(dòng)作分類,用接口a定義其中的某一組動(dòng)作,接口b定義其中的另外一組動(dòng)作,這樣的結(jié)構(gòu),比較清楚。

  這種方式具備了多繼承的優(yōu)點(diǎn),避免了多繼承的缺陷。實(shí)際上在歷史上,接口在很大程度上,是為了解決多繼承帶來的種種問題而設(shè)計(jì)出來的。

  (3)包中那些已定義的接口,怎么知道那里面定義了什么方法。

  接口里定義了方法的輸入輸出,這些都是協(xié)議,具體的實(shí)現(xiàn)都在每個(gè)類中。對于很多只需要抽象接口的地方,不需要知道具體的類是什么,只要這個(gè)類實(shí)現(xiàn)了這個(gè)接口就可以了。

  java接口的意義

  接口會出現(xiàn),最關(guān)鍵的原因應(yīng)該是Java中向上轉(zhuǎn)型的出現(xiàn),因?yàn)橄蛏限D(zhuǎn)型,子類中一些父類中不存在的方法(或者說不共用的方法)便不能繼續(xù)調(diào)用了。這樣就很麻煩,我們需要子類中的方法,但是這下該怎么辦呢?

  第一種在父類中加子類的方法。但是,這個(gè)方法在父類中其實(shí)真的沒有必要,方法函數(shù)體都不需要。所以會用抽象方法,這樣就有了抽象方法的誕生。可是就算這樣了,問題還是沒有解決,因?yàn)檎娴奶闊┝耍绻衅渌淖宇愐^承父類,也難免會有向上轉(zhuǎn)型的時(shí)候,那么,這個(gè)時(shí)候難道要一直往父類中加抽象方法么?顯然不合理!

  于是就有了第二種方法,接口便誕生了,這也解釋了為什么接口中都是抽象的方法!所以有了接口,子類中需要的方法,但是父類中沒有的方法可以直接用接口來完成,也就不用再修改父類的方法,在多人合作完成一項(xiàng)工程的時(shí)候也更加的方便。

  java接口的使用

  兩個(gè)類中的兩個(gè)類似的功能,調(diào)用他們的類動(dòng)態(tài)的決定一種實(shí)現(xiàn),那他們提供一個(gè)抽象父類,子類分別實(shí)現(xiàn)父類所定義的方法。

  問題的出現(xiàn):Java是一種單繼承的語言,一般情況下,哪個(gè)具體類可能已經(jīng)有了一個(gè)超類,解決是給它的父類加父類,或者給它父類的父類加父類,直到移動(dòng)到類等級結(jié)構(gòu)的最頂端。這樣一來,對一個(gè)具體類的可插入性的設(shè)計(jì),就變成了對整個(gè)等級結(jié)構(gòu)中所有類的修改。

  可插入性

  在一個(gè)等級結(jié)構(gòu)中的任何一個(gè)類都可以實(shí)現(xiàn)一個(gè)接口,這個(gè)接口會影響到此類的所有子類,但不會影響到此類的任何超類。此類將不得不實(shí)現(xiàn)這個(gè)接口所規(guī)定的方法,而其子類可以從此類自動(dòng)繼承這些方法,當(dāng)然也可以選擇置換掉所有的這些方法,或者其中的某一些方法,這時(shí)候,這些子類具有了可插入性(并且可以用這個(gè)接口類型裝載,傳遞實(shí)現(xiàn)了他的所有子類)。

  我們關(guān)心的不是那一個(gè)具體的類,而是這個(gè)類是否實(shí)現(xiàn)了我們需要的接口。

  接口提供了關(guān)聯(lián)以及方法調(diào)用上的可插入性,軟件系統(tǒng)的規(guī)模越大,生命周期越長,接口使得軟件系統(tǒng)的靈活性和可擴(kuò)展性,可插入性方面得到保證。

  類型

  使用Java接口將軟件單位與內(nèi)部和外部耦合起來。使用Java接口不是具體的類進(jìn)行變量的類型聲明,方法的返還類型聲明,參量的類型聲明,以及數(shù)據(jù)類型的轉(zhuǎn)換。

  在理想的情況下,一個(gè)具體的Java類應(yīng)當(dāng)只實(shí)現(xiàn)Java接口和抽象Java類中聲明的方法,而不應(yīng)當(dāng)給多余方法。

  等級結(jié)構(gòu)

  Java接口(以及抽象類)一般用來作為一個(gè)類型的等級結(jié)構(gòu)的起點(diǎn)。

  如果一個(gè)類已經(jīng)有了一個(gè)主要的超類型,那么通過實(shí)現(xiàn)一個(gè)接口,這個(gè)類可以擁有另一個(gè)次要的超類型,這種次要的超類型叫做混合類型。

timg (2).jpg

以上就是動(dòng)力節(jié)點(diǎn)java培訓(xùn)機(jī)構(gòu)小編介紹的“java接口的作用和意義是什么”的內(nèi)容,希望對大家有幫助,更多java最新資訊請繼續(xù)關(guān)注動(dòng)力節(jié)點(diǎn)java培訓(xùn)機(jī)構(gòu)官網(wǎng),每天會有精彩內(nèi)容分享與你。

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

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

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

java面向接口編程:http://m.ilovecolors.com.cn/xiazai/2569.html

java接口的應(yīng)用:http://m.ilovecolors.com.cn/xiazai/2570.html

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

java接口說明:http://m.ilovecolors.com.cn/xiazai/2572.html

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

提交申請后,顧問老師會電話與您溝通安排學(xué)習(xí)

免費(fèi)課程推薦 >>
技術(shù)文檔推薦 >>
主站蜘蛛池模板: 狠狠色综合网站久久久久久久 | 一级毛片免费全部播放完整 | 精品手机在线 | 免费色网站 | 7m国产精品分类视频大全 | 国产91精品一区 | 免费视频毛片 | 1024手机在线观看 | 男女扒开双腿猛进入免费看污 | 亚州第一视频 | 国产最猛性xxxxxx69交 | 制服丝袜中文 | 免费看片网址 | 777777777妇女亚洲 | 综合在线播放 | 中文字幕在线观看免费 | 日韩视频免费在线观看 | 91精品视频免费在线观看 | 亚洲系列中文字幕一区二区 | 好吊色视频在线观看 | 可以看的黄网 | www日韩免费高清视频 | 欧美成人激情 | 久久91精品久久久久久水蜜桃 | 欧美中文字幕在线观看 | 777毛片| 日本资源网 | 爽爽影院在线免费观看 | 成人区精品一区二区不卡亚洲 | www.黄色一片| 宅男在线永久免费观看99 | 一本大道香蕉大vr在线吗视频 | 国产亚洲3p一区二区三区 | 看片视频在线观看 | 欧美xxx在线观看4k | 天天天天添天天拍天天谢 | 男女边摸边吃奶边做视频在线 | 亚洲免费在线视频播放 | 国产精品毛片天天看片 | www.成人网.com | 国产日产亚洲系列首页 |