国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Java > 正文

Java的基本回調寫法,以及上溯造型的回調

2019-11-06 07:56:23
字體:
來源:轉載
供稿:網友

基本回調 我前面寫過OBJC的回調寫法,以及JS中也經常用到回調寫法?,F在來看看java中的回調寫法。

不論是OBJC,JS還是Java,他們的回調都是類似的。 重點在于把A函數傳入B函數當中,然后在B函數當中調用A函數。

既然如此,那么我們需要兩個東西: 1)A函數; 2)B函數; 我們定義ClassA類,類中包含A函數:

public class ClassA{ public void funcA(){ System.out.定義好了A函數,我們來定義B函數:

public class ClassB{ public void funcB(){ System.out.println("info: 這是B類的funcB函數"); }}

定義好了兩個函數,我們來將A函數傳入B函數。 定義一個類,包含主方法。

public class ClassMain{ public static void main(String[] args){ // 調用B函數中的方法,將A的實例傳入。 new ClassB().funcB(new ClassA);// 我們看到這里把A實例作為了參數,所以我們的funcB函數應該需要一個形式參數。 }}

funcB函數應該寫成:

public class ClassB{ public void funcB(ClassA classA){ System.out.println("info: 這是B類的funcB函數"); }}

這樣我們就把funcA包含在實例classA中傳入了funcB函數?,F在我們只需要在funcB中調用funcA函數即可。

public class ClassB{ public void funcB(ClassA classA){ System.out.println("info: 這是B類的funcB函數"); classA.funcA(); }}

控制臺輸出:

info:這是B類的funcB函數info:這里A類的funcA函數

上溯造型 熟悉父類子類,接口與實現的朋友對上溯造型應該不陌生。那么基于上溯造型,的回調怎么寫呢? 1)定義一個接口; 2)定義接口的實現類; 3)將實現類傳入另一個函數當中; 3)另一個函數調用這個實現類的方法; 1 定義一個接口

public inteface MyInterface{ void func1();}

2 定義接口的實現類

public class ImplClass implements MyInterface{ @Override void func1(){ System.out.println("info: 具體實現內容") }}

3 將實現類傳入另外一個函數

public class MyMainClass{ public static void main(String[] args){ new MyMainClass().func2(new ImplClass()); } void func2(MyInterface callback){ System.out.prinln("info: 這是第一條輸出"); callback.func1(); // 4 調用實現類的方法 }}

以上就是上溯造型的回調 不過其實還有一種比較簡略一點的寫法,就是省去實現類,用匿名實現類。

public class MyMainClass{ public static void main(String[] args){ new MyMainClass().func2(new MyInterface(){ @Override void func1(){ System.out.prinln("info: 這是匿名的方式"); } }); } void func2(MyInterface callback){ System.out.prinln("info: 這是第一條輸出"); callback.func1(); // 4 調用實現類的方法 }}

注:以上代碼臨時寫的,沒調試過,如有些許問題,請諒解。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 临武县| 永安市| 丹江口市| 台湾省| 政和县| 桦南县| 宁晋县| 广饶县| 武清区| 香港 | 仙游县| 阳东县| 汕头市| 额敏县| 永仁县| 北辰区| 平昌县| 安塞县| 登封市| 兴化市| 子洲县| 万全县| 横山县| 贵南县| 鄂州市| 抚顺县| 乐安县| 永胜县| 克拉玛依市| 西华县| 通许县| 庆安县| 宁陕县| 松原市| 房产| 齐齐哈尔市| 新和县| 新田县| 鄱阳县| 古交市| 拉萨市|