青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

woaidongmao

文章均收錄自他人博客,但不喜標(biāo)題前加-[轉(zhuǎn)貼],因其丑陋,見(jiàn)諒!~
隨筆 - 1469, 文章 - 0, 評(píng)論 - 661, 引用 - 0
數(shù)據(jù)加載中……

java中的接口和抽象類(lèi)區(qū)別

       首先,我們來(lái)看一下抽象類(lèi)的概念,java編程思想中說(shuō)萬(wàn)物皆對(duì)象,我們知道所有的對(duì)象都是通過(guò)類(lèi)來(lái)描繪的,但是反過(guò)來(lái)卻不是這樣。并不是所有的類(lèi)都是用來(lái)描繪對(duì)象的,如果一個(gè)類(lèi)中沒(méi)有包含足夠的信息來(lái)描繪一個(gè)具體的對(duì)象,這樣的類(lèi)就是抽象類(lèi)。抽象類(lèi)是表征我們對(duì)問(wèn)題領(lǐng)域進(jìn)行分析、設(shè)計(jì)中得出的抽象概念,是對(duì)一系列看上去不同,但是本質(zhì)上相同的具體概念的抽象。好比,我們都知道三角形是一個(gè)形狀,世界上有三角形這樣具體的東西,但是確沒(méi)有形狀這樣具體的東西,我們要描述這個(gè)形狀的概念就要用到抽象類(lèi)。因此在java中抽象類(lèi)是不允許被實(shí)例化的。
在面向?qū)ο箢I(lǐng)域,抽象類(lèi)主要用來(lái)進(jìn)行類(lèi)型隱藏。那什么是類(lèi)型隱藏呢?我們可以構(gòu)造出一個(gè)固定的一組行為的抽象描述,但是這組行為卻能夠有任意個(gè)可能的具體實(shí)現(xiàn)方式。這個(gè)抽象描述就是抽象類(lèi),而這一組任意個(gè)可能的具體實(shí)現(xiàn)則表現(xiàn)為所有可能的派生類(lèi)。好比,動(dòng)物是一個(gè)抽象類(lèi),人、猴子、老虎就是具體實(shí)現(xiàn)的派生類(lèi),我們就可以用動(dòng)物類(lèi)型來(lái)隱藏人、猴子和老虎的類(lèi)型。
再來(lái)看一下接口,接口是什么呢?Java中的接口是一系列方法的聲明,是一些方法特征的集合,一個(gè)接口只有方法的特征沒(méi)有方法的實(shí)現(xiàn),因此這些方法可以在不同的地方被不同的類(lèi)實(shí)現(xiàn),而這些實(shí)現(xiàn)可以具有不同的行為(功能)。接口是一種特殊形式的抽象類(lèi)。

抽象類(lèi)和接口有很大的區(qū)別,首先,抽象類(lèi)在Java語(yǔ)言中表示的是一種繼承關(guān)系,一個(gè)類(lèi)只能使用一次繼承關(guān)系。但是,一個(gè)類(lèi)卻可以實(shí)現(xiàn)多個(gè)接口。也許,這是Java語(yǔ)言的設(shè)計(jì)者在考慮Java對(duì)于多重繼承的支持方面的一種折中考慮吧。
其次,在抽象類(lèi)的定義中,我們可以賦予方法的默認(rèn)行為。但是在接口的定義中,方法卻不能擁有默認(rèn)行為,為了繞過(guò)這個(gè)限制,必須使用委托,但是這會(huì) 增加一些復(fù)雜性,有時(shí)會(huì)造成很大的麻煩。
已經(jīng)提到過(guò),抽象類(lèi)在Java語(yǔ)言中體現(xiàn)了一種繼承關(guān)系,要想使得繼承關(guān)系合理,父類(lèi)和派生類(lèi)之間必須存在”is a”關(guān)系,即父類(lèi)和派生類(lèi)在概念本質(zhì)上應(yīng)該是相同的。對(duì)于接口來(lái)說(shuō)則不然,并不要求接口的實(shí)現(xiàn)者和接口定義在概念本質(zhì)上是一致的,僅僅是實(shí)現(xiàn)了接口定義的契約而已。接口表示的是”like a”關(guān)系。

使用抽象類(lèi)來(lái)定義允許多個(gè)實(shí)現(xiàn)的類(lèi)型,比使用接口有一個(gè)明顯的優(yōu)勢(shì):抽象類(lèi)的演化比接口的演化要容易的多。在后續(xù)的發(fā)行版中,如果希望在抽象類(lèi)中增加一個(gè)方法,只增加一個(gè)默認(rèn)的合理的實(shí)現(xiàn)即可,抽象類(lèi)的所有實(shí)現(xiàn)都自動(dòng)提供了這個(gè)新的方法。對(duì)于接口,這是行不通的。雖然可以在骨架實(shí)現(xiàn)類(lèi)中增加一方法的實(shí)現(xiàn)來(lái)解決部分問(wèn)題,但這不能解決不從骨架實(shí)現(xiàn)類(lèi)繼承的接口實(shí)現(xiàn)的問(wèn)題。由此,設(shè)計(jì)公有的接口要非常謹(jǐn)慎,一旦一個(gè)接口被公開(kāi)且被廣泛實(shí)現(xiàn),對(duì)它進(jìn)行修改將是不可能的。

所以,使用接口還是抽象類(lèi),取決于我們對(duì)問(wèn)題的概念的本質(zhì)理解和設(shè)計(jì)的意圖。

//---------------------------------------------------------------------

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

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

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

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

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

  你當(dāng)然也可以不用接口,直接在類(lèi)里面寫(xiě)方法,但是如果你的一組方法需要在很多類(lèi)里實(shí)現(xiàn),那么把它們抽象出來(lái),做成一個(gè)接口規(guī)范,不是更好么?

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

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

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

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

 

當(dāng)然,以上只是對(duì)接口的初步認(rèn)識(shí),在對(duì)面向?qū)ο蟪绦蛟O(shè)計(jì)有更深入的認(rèn)識(shí)以后,會(huì)發(fā)現(xiàn)接口有更廣泛的用途。

 

另外,抽象類(lèi)不能被實(shí)例化,也就是說(shuō),不能創(chuàng)建抽象類(lèi)的任何對(duì)象。必須創(chuàng)建抽象類(lèi)的子類(lèi),然后再創(chuàng)建子類(lèi)的對(duì)象。一個(gè)接口可以繼承多個(gè)接口,一個(gè)類(lèi)可以實(shí)現(xiàn)多個(gè)接口。

 

posted on 2009-08-26 23:06 肥仔 閱讀(442) 評(píng)論(0)  編輯 收藏 引用 所屬分類(lèi): Web-后臺(tái)

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            欧美日韩高清在线| 国产中文一区二区| 一区二区视频免费在线观看| 亚洲欧美日韩一区二区| 久久伊伊香蕉| 亚洲天堂激情| 亚洲男人的天堂在线| 好看的亚洲午夜视频在线| 欧美不卡视频一区发布| 亚洲视频1区2区| 欧美高清视频| 久久精品国产免费观看| 亚洲视频欧美视频| 香蕉久久夜色精品国产使用方法| 免费不卡欧美自拍视频| 在线亚洲自拍| 亚洲麻豆一区| 亚洲动漫精品| 国产一区二区三区久久| 欧美日韩妖精视频| 蜜臀av性久久久久蜜臀aⅴ| 亚洲欧美另类在线观看| 亚洲精品国产欧美| 国产精品一区二区女厕厕| 欧美精品18+| 欧美欧美天天天天操| 美女诱惑一区| 好吊妞这里只有精品| 亚洲欧美中文日韩v在线观看| 日韩视频免费观看高清完整版| 亚洲欧美变态国产另类| 亚洲国产片色| 亚洲黄色影院| 99综合在线| 亚洲私人影吧| 欧美午夜一区二区福利视频| 欧美美女日韩| 免费亚洲网站| 欧美激情一区在线| 亚洲欧洲日韩综合二区| 一区二区三区视频在线| 欧美高清视频在线播放| 久久久久成人精品免费播放动漫| 免费试看一区| 一本色道久久综合亚洲精品小说 | 欧美国产极速在线| 欧美精品一区二区三| 亚洲国产精品女人久久久| 久久久五月婷婷| 亚洲卡通欧美制服中文| 欧美亚洲综合久久| 欧美日韩一二三四五区| 亚洲欧美在线磁力| 男人的天堂亚洲| 亚洲中字黄色| 99精品欧美一区二区三区| 欧美深夜影院| 中文在线一区| 亚洲高清久久| 久久一区二区三区国产精品| 欧美日韩三级| 免费av成人在线| 国产精品日韩欧美一区| 亚洲伊人网站| 欧美激情视频一区二区三区在线播放 | 亚洲一区二区三区精品在线| 久久激情综合| 欧美三区美女| 亚洲国内自拍| 亚洲美女视频| 免费观看日韩av| 久久精品免视看| 国产伦精品一区二区三区四区免费| 亚洲美女区一区| 国产精品国产三级国产aⅴ9色| 亚洲作爱视频| 欧美成人精品h版在线观看| 久久另类ts人妖一区二区| 国产欧美1区2区3区| 欧美18av| 国产精品jizz在线观看美国 | 性色av一区二区三区| 在线亚洲一区观看| 国产亚洲视频在线观看| 久久精品国产第一区二区三区最新章节 | 久久精品国产69国产精品亚洲| 亚洲伦理在线免费看| 国产精品久久一区二区三区| 久久精品人人| 亚洲人精品午夜在线观看| 91久久线看在观草草青青| 亚洲精品无人区| 亚洲影院免费观看| 亚洲精品久久嫩草网站秘色| 欧美日韩亚洲91| 久久久久国产精品一区二区| 欧美激情综合| 国产日韩一区二区三区在线播放| 欧美激情久久久| 欧美在线视频在线播放完整版免费观看 | 国产日韩一区| 欧美精品激情blacked18| 久久九九有精品国产23| 99综合视频| 亚洲电影激情视频网站| 久久国产视频网| 亚洲综合社区| 一区二区三区视频免费在线观看| 依依成人综合视频| 免费看成人av| 久久综合99re88久久爱| 暖暖成人免费视频| 久久精品男女| 欧美gay视频| 亚洲国产美女| 91久久精品日日躁夜夜躁欧美 | 一区二区高清在线观看| 精品999在线观看| 国外成人网址| 亚洲国产小视频| 免费观看日韩| 欧美交受高潮1| 欧美视频在线观看| 国产精品女主播在线观看| 国产精品久久久爽爽爽麻豆色哟哟 | 久久久水蜜桃av免费网站| 一本色道久久88综合日韩精品| 国内成人自拍视频| 亚洲国产欧美另类丝袜| 这里是久久伊人| 亚洲国产精品美女| 亚洲最新在线视频| 久久久久久色| 99精品欧美一区二区三区| 亚洲一区二区在线播放| 久久久久久久性| 欧美日韩国产精品一区| 国产精品综合av一区二区国产馆| 在线精品一区二区| 香蕉免费一区二区三区在线观看 | 伊人一区二区三区久久精品| 亚洲黄色免费电影| 久久国产一二区| 亚洲免费婷婷| 欧美视频一区二| 亚洲精品国久久99热| 牛牛国产精品| 久久精品中文字幕一区二区三区 | 久久一区二区三区国产精品| 国产精品久久99| 一区二区国产日产| 日韩一二在线观看| 欧美成人免费大片| 亚洲国产精品ⅴa在线观看 | 亚洲理伦在线| 欧美激情小视频| 性欧美大战久久久久久久久| 亚洲精品中文字幕在线| 久久国产视频网| 日韩一二三在线视频播| 伊人久久久大香线蕉综合直播| 亚洲二区在线| 亚洲电影免费观看高清完整版在线观看| 亚洲精品一二三| 国产视频精品va久久久久久| 美女国内精品自产拍在线播放| 午夜精品99久久免费| 亚洲二区三区四区| 日韩视频免费观看高清完整版| 欧美日韩一区三区| 美女图片一区二区| 欧美午夜国产| 欧美激情一二区| 国产精品嫩草99a| 91久久久久久久久久久久久| 国产欧美日韩免费| 亚洲精品一区在线观看| 在线精品观看| 欧美88av| 国产欧美日韩专区发布| 亚洲精品一级| 亚洲伊人观看| 久久一区二区三区av| 亚洲综合色噜噜狠狠| 国产精品白丝jk黑袜喷水| 一本综合精品| 欧美一区二区三区在线| 亚洲高清一区二区三区| 精品1区2区| 久久另类ts人妖一区二区| 狂野欧美激情性xxxx欧美| 久久免费一区| 美女久久一区| 91久久亚洲| 欧美精品日韩综合在线| 99热精品在线| 久久久精品国产免大香伊| 欧美精品一区二区三区在线播放 | 久久久久久久久久码影片| 久久久女女女女999久久|