Java接口

接口和內(nèi)部類為我們提供了一種將接口與實(shí)現(xiàn)分離的更加結(jié)構(gòu)化的方法辙浑。

接口
接口中的方法默認(rèn)是public abstract方法,所以累在實(shí)現(xiàn)接口方法是必須給出方法體,并且一定要用public來修飾,而且接口中的常量默認(rèn)是public static常量尼摹。
接口也是可以被繼承的,即可以通過關(guān)鍵字extends聲明一個(gè)接口是另一個(gè)接口的子接口剂娄,由于父接口中的方法和常量都是public的窘问,子接口將繼承父接口中的全部方法和常量。另外要說的是宜咒,接口中的屬性都是常量惠赫。

接口的意義
你對(duì)一些類是否具有這個(gè)功能非常關(guān)心,但不不關(guān)心功能的具體體現(xiàn)故黑,那么就需要這些類都實(shí)現(xiàn)一個(gè)接口儿咱。

接口做參數(shù)
如果一個(gè)方法的參數(shù)是接口類型庭砍,就可以將任何實(shí)現(xiàn)該接口類的實(shí)例的引用傳遞給該參數(shù),那么該方法就可以通過該接口參數(shù)去回調(diào)類實(shí)現(xiàn)的接口方法混埠。這個(gè)比較少用怠缸,但是還是挺實(shí)用的,后來可以用用钳宪。其實(shí)這么理解會(huì)比較好:直接把該接口參數(shù)當(dāng)做是一個(gè)類對(duì)象揭北,我們用它來調(diào)用該類的方法。

接口回調(diào)
接口會(huì)有這么一個(gè)特征吏颖,如果聲明一個(gè)接口對(duì)象搔体,然后調(diào)用該接口的方法functionA( ),它會(huì)去調(diào)用實(shí)現(xiàn)該接口的類的方法functionA( )半醉,因此我們可以利用這個(gè)特征解決一些問題疚俱。比如在擁有ListView的Activity中,點(diǎn)擊Item中的一個(gè)Button缩多,然后要進(jìn)行一些與Activity的交互呆奕,在BaseAdapter里顯然不方便這樣操作,這個(gè)時(shí)候就可以傳一個(gè)接口對(duì)象進(jìn)去衬吆,而接口方法被Activity實(shí)現(xiàn)梁钾,那就可以利用這個(gè)接口對(duì)象去調(diào)用Activity的方法了。這就是傳說中監(jiān)聽者模式逊抡。

實(shí)例
1.創(chuàng)建一個(gè)接口姆泻,里面寫好需要用到的函數(shù)。

public interface ItemChangInterFace { 
    void deleteCart(String productId); 
    void setListNum(int num,int whichItem); 
}

2.Activity實(shí)現(xiàn)該接口秦忿。

implements ItemChangInterFace... 

@Override 
public void deleteCart(final String productId) {... 

@Override 
public void setListNum(int quantity,int whichItem) {...

3.把該接口對(duì)象傳入需要調(diào)用它的方法的地方麦射,如果是被Activity實(shí)現(xiàn)了蛾娶,那么傳this就可以灯谣。

cartListAdapter = new CartListAdapter(getActivity(), cartItemList,this);

4.調(diào)用的地方聲明一個(gè)接口對(duì)象,接受構(gòu)造函數(shù)來的接口對(duì)象蛔琅,然后就可以用此對(duì)象調(diào)用被Activity實(shí)現(xiàn)的方法胎许。

private ItemChangInterFace itemChangInterFace; 

public CartListAdapter(Context context, List<CartItemEntity> list, ItemChangInterFace itemChangInterFace) { 
    this.itemChangInterFace = itemChangInterFace; 
} 

itemChangInterFace.deleteCart(list.get(i).getProduct_id());
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市罗售,隨后出現(xiàn)的幾起案子辜窑,更是在濱河造成了極大的恐慌,老刑警劉巖寨躁,帶你破解...
    沈念sama閱讀 206,723評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件穆碎,死亡現(xiàn)場離奇詭異,居然都是意外死亡职恳,警方通過查閱死者的電腦和手機(jī)所禀,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,485評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門方面,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人色徘,你說我怎么就攤上這事恭金。” “怎么了褂策?”我有些...
    開封第一講書人閱讀 152,998評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵横腿,是天一觀的道長。 經(jīng)常有香客問我斤寂,道長耿焊,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,323評(píng)論 1 279
  • 正文 為了忘掉前任扬蕊,我火速辦了婚禮搀别,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘尾抑。我一直安慰自己歇父,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,355評(píng)論 5 374
  • 文/花漫 我一把揭開白布再愈。 她就那樣靜靜地躺著榜苫,像睡著了一般。 火紅的嫁衣襯著肌膚如雪翎冲。 梳的紋絲不亂的頭發(fā)上垂睬,一...
    開封第一講書人閱讀 49,079評(píng)論 1 285
  • 那天,我揣著相機(jī)與錄音抗悍,去河邊找鬼驹饺。 笑死,一個(gè)胖子當(dāng)著我的面吹牛缴渊,可吹牛的內(nèi)容都是我干的赏壹。 我是一名探鬼主播,決...
    沈念sama閱讀 38,389評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼衔沼,長吁一口氣:“原來是場噩夢啊……” “哼蝌借!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起指蚁,我...
    開封第一講書人閱讀 37,019評(píng)論 0 259
  • 序言:老撾萬榮一對(duì)情侶失蹤菩佑,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后凝化,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體稍坯,經(jīng)...
    沈念sama閱讀 43,519評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,971評(píng)論 2 325
  • 正文 我和宋清朗相戀三年搓劫,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了瞧哟。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片袜蚕。...
    茶點(diǎn)故事閱讀 38,100評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖绢涡,靈堂內(nèi)的尸體忽然破棺而出牲剃,到底是詐尸還是另有隱情,我是刑警寧澤雄可,帶...
    沈念sama閱讀 33,738評(píng)論 4 324
  • 正文 年R本政府宣布凿傅,位于F島的核電站,受9級(jí)特大地震影響数苫,放射性物質(zhì)發(fā)生泄漏聪舒。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,293評(píng)論 3 307
  • 文/蒙蒙 一虐急、第九天 我趴在偏房一處隱蔽的房頂上張望箱残。 院中可真熱鬧,春花似錦止吁、人聲如沸被辑。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,289評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽盼理。三九已至,卻和暖如春俄删,著一層夾襖步出監(jiān)牢的瞬間宏怔,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,517評(píng)論 1 262
  • 我被黑心中介騙來泰國打工畴椰, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留臊诊,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 45,547評(píng)論 2 354
  • 正文 我出身青樓斜脂,卻偏偏與公主長得像抓艳,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子秽褒,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,834評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容

  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語法壶硅,類相關(guān)的語法威兜,內(nèi)部類的語法销斟,繼承相關(guān)的語法,異常的語法椒舵,線程的語...
    子非魚_t_閱讀 31,587評(píng)論 18 399
  • 一笔宿、基本數(shù)據(jù)類型 注釋 單行注釋:// 區(qū)域注釋:/* */ 文檔注釋:/** */ 數(shù)值 對(duì)于byte類型而言...
    龍貓小爺閱讀 4,254評(píng)論 0 16
  • 首先看抽象類犁钟,它介于普通類和接口之間棱诱,盡管在構(gòu)建某些未實(shí)現(xiàn)方法的類時(shí),很多時(shí)候 往往會(huì)去創(chuàng)建接口涝动,但抽象類仍然很重...
    一根煙的彈跳閱讀 1,214評(píng)論 5 21
  • 轉(zhuǎn)自:http://blog.csdn.net/jackfrued/article/details/4492194...
    王帥199207閱讀 8,500評(píng)論 3 93
  • 每天到了這個(gè)點(diǎn)迈勋,我還沒有開始的時(shí)候,我就會(huì)覺得我為什么總是沒有主題在寫呢醋粟?羨慕像書生靡菇、像笑笑他們都有自己的主題,很...
    EvaingWu閱讀 133評(píng)論 1 0