java接口初澎,接口回調(diào)

0秸应、 java 接口概念

? ? 一直對 java 接口概念比較模糊,因為平時的學(xué)習(xí)相對簡單碑宴,沒有用上软啼,所以就很模糊。最近想用了延柠,卻發(fā)現(xiàn)搞不懂祸挪。所以想練習(xí)一下,加深對 java 接口的理解贞间。

? ? java 接口概念: java 接口是一種抽象的類型贿条。里面定義了方法的名字,但是沒有實現(xiàn)增热。

interface Animal {???

????public void eat();????

????public void travel();

}

“接口感覺就是一些類似的事物共有的域或方法闪唆,就像有一個接口 Animal,里面有個方法eat钓葫,然后你每一個動物的類悄蕾,都去實現(xiàn)這個接口,因為每個動物都有各自的飲食方法础浮,這樣就增加了代碼的復(fù)用性帆调,不要再每一動物類里都要重新想一個名字來定義 eat《雇——來自“百度知道番刊、菜鳥教程”

1、接口的作用

? ? 但是我認(rèn)為上面的解釋只給出了 java 接口中很小很小的作用影锈,或者說不能體現(xiàn)“接口”這兩個字的含義芹务。關(guān)于接口蝉绷,我是這樣理解的,舉一個比較形象的例子:小明數(shù)學(xué)比較好枣抱,可以計算兩數(shù)相加熔吗,其方法為 add(int a, int b); 小紅就不行了,數(shù)學(xué)比較差佳晶,自己做不來桅狠。但是數(shù)學(xué)老師又給小紅布置了數(shù)學(xué)作業(yè),而且明天必須要交作業(yè)轿秧。假如你是小紅中跌,你會怎么辦?當(dāng)然是求助小明肮酱邸漩符!讓小明來幫小紅做作業(yè)。雖然小明數(shù)學(xué)好驱还,但是小紅求助小明的話小明會愿意幫小紅嗎嗜暴?要是小明不愿意幫小紅而且還鄙視小紅,小紅得多尷尬啊铝侵。

class XiaoMing {????

????private int add(int a, int b) {?

? ? ? ? // 小明很聰明灼伤,知道怎么算触徐,但是這個方法是私有的咪鲜,不告訴其他人是怎么算的

????????return a + b;????

????}

}

class XiaoHong {????????

? ? private?int add(int a, int b) {?? ? ? ?

????????// 小紅就比較笨啦,看到問題腦子一片漿糊撞鹉。疟丙。不知道怎么算? ? ? ?

????????return ?鸟雏?;? ? ? ??

????}

? ? public int write() {

? ? //? ? 都不會算啊享郊,怎寫得出答案嘛

? ? ? ? return ?孝鹊?;

????}

}

? ? 這是已經(jīng)深夜 22:00 了炊琉,小紅終于拉下了臉面,通過 QQ 向小明發(fā)起了求職又活。沒想到小明倒是懂得憐香惜玉苔咪,還趕緊安慰小紅說“我愿意幫你”。因為時間緊迫柳骄,小明已經(jīng)沒有時間教小紅怎么做了团赏,他對小紅說道:“我給你一個接口,你告訴我題目耐薯,我直接返回給你答案”舔清。說完丝里,小明趕緊定義了一個接口。

interface Helper {

? ? public int output(int a, b);

}

? ? 小明定義好了接口体谒,那么接口中的方法誰來實現(xiàn)呢杯聚?當(dāng)然是小明啊,是時候表演真正的技術(shù)了营密。

class XiaoMing implements Helper{????????????

????private int add(int a, int b) {?? ? ? ?????

????????// 小明很聰明械媒,知道怎么算,但是這個方式是私有的评汰,不告訴其他人是怎么算的? ? ? ? ? ? ? ? return a + b;? ? ?

????}

? ? @Override

? ? public int output(int a, int b) {

? ? ? ? // 小明在接口中調(diào)用自己的計算方法纷捞,然后返回計算結(jié)果

? ? ? ? return add(a, b);

????}

}

? ? 小明實現(xiàn)了這個接口,趕緊告訴小紅被去,并教小紅如何使用主儡。

class XiaoHong {???????????

? ? // 小紅為了使用小明的接口,定義了一個接口變量

????private Helper helper;

? ? // 并且通過傳入的 helper 實例化

? ? public void setHelper(Helper helper) {

? ? ? ? this.helper = helper;

????}

????private int add(int a, int b) {? ? ? ? ? ? ? ?

????????// 小紅有了 helper惨缆, 告訴 helper a 和 b 的值糜值,讓 helper 返回結(jié)果? ? ? ? ? ? ? ?

? ? ? ? return? helper.output(a, b);? ? ?

????}

}

? ? 所以,小紅要做的事就是把 helper 設(shè)置成小明坯墨,從而通過小明給出答案

public class Test1 {

????public static void main(String[] args) {

????????XiaoMing xiaoMing = new XiaoMing();

????????XiaoHong xiaoHong = new XiaoHong();

????????xiaoHong.setHelper(xiaoMing);

????????int result = xiaoHong.add(1, 2);

????????System.out.println(result);

????}

}

輸出結(jié)果:3

? ? 小紅并沒有計算的能力寂汇,但是卻可以給出運算結(jié)果,這就是接口的作用捣染。所以骄瓣,接口可以用在這個情況:

? ? 1、功能模塊 B 想要使用功能模塊 A 的功能耍攘,那么 A 可以給出一個接口榕栏,讓 B 來調(diào)用。

? ? 以上就是我對 JAVA 接口的一種理解蕾各。

2扒磁、 JAVA 接口回調(diào)

? ? 還不理解,就是 return 嗎式曲?

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末妨托,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子吝羞,更是在濱河造成了極大的恐慌兰伤,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,104評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件脆贵,死亡現(xiàn)場離奇詭異医清,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)卖氨,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,816評論 3 399
  • 文/潘曉璐 我一進(jìn)店門会烙,熙熙樓的掌柜王于貴愁眉苦臉地迎上來负懦,“玉大人,你說我怎么就攤上這事柏腻≈嚼鳎” “怎么了?”我有些...
    開封第一講書人閱讀 168,697評論 0 360
  • 文/不壞的土叔 我叫張陵五嫂,是天一觀的道長颗品。 經(jīng)常有香客問我,道長沃缘,這世上最難降的妖魔是什么躯枢? 我笑而不...
    開封第一講書人閱讀 59,836評論 1 298
  • 正文 為了忘掉前任,我火速辦了婚禮槐臀,結(jié)果婚禮上锄蹂,老公的妹妹穿的比我還像新娘。我一直安慰自己水慨,他們只是感情好得糜,可當(dāng)我...
    茶點故事閱讀 68,851評論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著晰洒,像睡著了一般朝抖。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上谍珊,一...
    開封第一講書人閱讀 52,441評論 1 310
  • 那天治宣,我揣著相機(jī)與錄音,去河邊找鬼抬驴。 笑死炼七,一個胖子當(dāng)著我的面吹牛缆巧,可吹牛的內(nèi)容都是我干的布持。 我是一名探鬼主播,決...
    沈念sama閱讀 40,992評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼陕悬,長吁一口氣:“原來是場噩夢啊……” “哼题暖!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起捉超,我...
    開封第一講書人閱讀 39,899評論 0 276
  • 序言:老撾萬榮一對情侶失蹤胧卤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后拼岳,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體枝誊,經(jīng)...
    沈念sama閱讀 46,457評論 1 318
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,529評論 3 341
  • 正文 我和宋清朗相戀三年惜纸,在試婚紗的時候發(fā)現(xiàn)自己被綠了叶撒。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片绝骚。...
    茶點故事閱讀 40,664評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖祠够,靈堂內(nèi)的尸體忽然破棺而出压汪,到底是詐尸還是另有隱情,我是刑警寧澤古瓤,帶...
    沈念sama閱讀 36,346評論 5 350
  • 正文 年R本政府宣布止剖,位于F島的核電站,受9級特大地震影響落君,放射性物質(zhì)發(fā)生泄漏穿香。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 42,025評論 3 334
  • 文/蒙蒙 一绎速、第九天 我趴在偏房一處隱蔽的房頂上張望扔水。 院中可真熱鬧,春花似錦朝氓、人聲如沸魔市。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,511評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽待德。三九已至,卻和暖如春枫夺,著一層夾襖步出監(jiān)牢的瞬間将宪,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,611評論 1 272
  • 我被黑心中介騙來泰國打工橡庞, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留较坛,地道東北人。 一個月前我還...
    沈念sama閱讀 49,081評論 3 377
  • 正文 我出身青樓扒最,卻偏偏與公主長得像丑勤,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子吧趣,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,675評論 2 359

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