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

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動(dòng)力節(jié)點(diǎn)LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 hot資訊 淺析Java接口繼承

淺析Java接口繼承

更新時(shí)間:2020-10-16 17:32:52 來源:動(dòng)力節(jié)點(diǎn) 瀏覽1504次

說到Java接口繼承,我們必須先說說接口,接口是一種高度的抽象,里面會(huì)規(guī)定一些將要實(shí)現(xiàn)的行為或只作為一種標(biāo)記,如Java中的Serializable接口,它比抽象類更加抽象。


然后說一說對繼承的理解,繼承就是泛化。在由接口組成的繼承層級中,從上往下看,是由抽象到具體的過程。通過繼承我們可以保留父接口中定義的行為,同時(shí)可以對其進(jìn)行擴(kuò)展。整個(gè)繼承層級,其實(shí)是類似樹結(jié)構(gòu)的,樹的層級越深,行為就越復(fù)雜,能做的事情就更多。


上一層是對下一層共性的抽象,下層是對上層不同維度的演進(jìn)。以Java的集合框架為例,如下圖:

image.png


最開始只有一個(gè)Iterable,這里只是要返回一個(gè)迭代器,它可以用來處理一些可以迭代的對象,可以在foreach或者while循環(huán)中迭代。那么哪些對象是可以迭代的呢,于是就有了第二層接口,Collection、Directory Stream(JDK1.7新增nio模塊中)都是可以迭代的。

接下來再往深層考慮,什么樣的算是Collection, JDK中給出定義Collection表示一組對象,稱之為元素,有些集合允許重復(fù),有些不允許,有些無序,有些有序。原文中這樣描述:

A collection represents a group of objects, known as its elements. Some collections allow duplicate elements and others do not. Some are ordered and others unordered.


根據(jù)這些描述又有了下一層,Set、List、Queue, 這是針對Collection中不同類型的集合的抽象,其內(nèi)部會(huì)聲明一些特定的方法:

我們發(fā)現(xiàn)有很多不同的方法,這個(gè)就是對Collection不同維度的演進(jìn)。職責(zé)不斷的細(xì)化,對于其他的接口,情況也是一樣的。這點(diǎn)和畫家在創(chuàng)作時(shí)先畫出輪廓,然后再一點(diǎn)一點(diǎn)的勾勒細(xì)節(jié)有異曲同工之妙。

那么接口繼承有什么意義呢?不妨這樣考慮,加入假如沒有接口繼承,會(huì)變成什么樣子?假如不讓接口繼承,那么所有接口的方法都放在一個(gè)接口中,這時(shí)只有一個(gè)接口,那么這個(gè)接口規(guī)定的行為不覺得有點(diǎn)太多了么,既要負(fù)責(zé)返回一個(gè)迭代器,又要是一個(gè)集合,而且既要定義有序集合的行為,又要定義無序集合的行為,既要定義有重復(fù)元素的集合的行為,又要定義無重復(fù)元素集合的行為。


假設(shè)只有一個(gè)方法來定義集合的行為,請問這個(gè)方法該怎么實(shí)現(xiàn)。千萬不要說加上一大堆if else的判斷語句,如果這時(shí)候有新的集合類型加入了,難道再加上一個(gè)if else語句么?無疑這是一種糟爛的設(shè)計(jì)。反觀通過接口繼承產(chǎn)生的層級接口,層次分析,職責(zé)分明,Set就是Set,List就是List,想要實(shí)現(xiàn)那種結(jié)構(gòu)直接實(shí)現(xiàn)對應(yīng)的接口即可。換個(gè)角度看,通過接口繼承,可以重新定義上層已經(jīng)定義的行為,也不會(huì)影響到同一層級的其他接口中的行為。


在簡單的系統(tǒng)中,當(dāng)然并不一定用到接口繼承,但一個(gè)相對復(fù)雜的系統(tǒng)中,如JDK的集合框架,通過接口繼承可以稱得上是一種良好的設(shè)計(jì),也是對整個(gè)系統(tǒng)結(jié)構(gòu)的一個(gè)提升。


好了,對Java接口繼承的相關(guān)知識就先講解就到這里,欲知后事如何,請觀看本站的Java零基礎(chǔ)教程,帶你全方位學(xué)習(xí)Java基礎(chǔ),為你的Java夢想揚(yáng)帆起航!


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

免費(fèi)課程推薦 >>
技術(shù)文檔推薦 >>
主站蜘蛛池模板: 99精品视频观看 | 动漫美女h片黄动漫在线观看 | 国产精品免费入口视频 | 欧美日韩一区二区三区久久 | 欧洲色片 | 精品欧美成人bd高清在线观看 | 狠狠躁天天躁夜夜躁婷婷 | 国产成人精品s8p视频 | 亚洲精品国产第一区二区尤物 | 四虎影视国产精品亚洲精品hd | 一级片播放 | 午夜久久免费视频 | 中文字幕一区二区三区有限公司 | 97国内免费久久久久久久久久 | 激情综合网婷婷 | 国产欧美精品午夜在线播放 | 四虎黄色影院 | 精品欧美一区二区三区四区 | 国产成人精品久久一区二区三区 | 色综合天天综合网站中国 | 亚洲精品欧美精品 | 在线xxxx| 久久精品国产精品青草不卡 | 精品午夜寂寞黄网站在线 | 国产在线精品二区赵丽颖 | 美女hdxxxx中国 | 欧美亚洲欧美日韩中文二区 | 青青久久精品国产免费看 | 热热九九| 超清波多野结衣精品一区 | 91国内在线国内在线播放 | 久久精品伦理 | 成人免费视频网站 | 成人影院免费在线观看 | 奇米影视狠狠狠天天777 | 四虎影视永久地址www成人 | 天天摸天天干天天操 | 亚洲欧美久久精品一区 | 天天操比| 国产精品永久免费 | 国产高清美女一级a毛片久久 |