java鍥炶皟鍑芥暟鎬庝箞浣跨敤
Java涓殑鍥炶皟鍑芥暟鎸囩殑鏄皢涓€涓嚱鏁颁綔涓哄弬鏁颁紶閫掔粰鍙︿竴涓嚱鏁帮紝浣垮叾鍦ㄧ壒瀹氭潯浠朵笅琚皟鐢ㄣ€備笅闈㈡槸涓€涓畝鍗曠殑绀轰緥锛?/p>
public class CallbackExample {
public interface Callback {
void onEvent();
}
public static void doSomething(Callback callback) {
// 妯℃嫙鏌愪簺鎿嶄綔
System.out.println("doSomething");
// 褰撴搷浣滃畬鎴愭椂璋冪敤鍥炶皟鍑芥暟
callback.onEvent();
}
public static void main(String[] args) {
doSomething(new Callback() {
@Override
public void onEvent() {
System.out.println("Callback.onEvent");
}
});
}
}
鍦ㄤ笂闈㈢殑绀轰緥涓紝鎴戜滑瀹氫箟浜嗕竴涓?code>Callback鎺ュ彛锛屽畠鏈変竴涓?code>onEvent()鏂规硶銆傜劧鍚庯紝鎴戜滑瀹氫箟浜嗕竴涓?code>doSomething()鏂规硶锛屽畠鎺ュ彈涓€涓?code>Callback鍙傛暟銆傚湪doSomething()
鏂规硶涓紝鎴戜滑鎵ц涓€浜涙搷浣滐紝鐒跺悗璋冪敤浼犻€掔粰瀹冪殑鍥炶皟鍑芥暟銆傛渶鍚庯紝鍦?code>main()鏂规硶涓紝鎴戜滑璋冪敤doSomething()
鏂规硶锛屽苟浼犻€掍竴涓尶鍚嶇殑Callback
瀵硅薄浣滀负鍙傛暟銆?/p>
鎵ц涓婇潰鐨勪唬鐮侊紝杈撳嚭缁撴灉涓猴細
doSomething
Callback.onEvent
杩欒〃鏄庯紝褰?code>doSomething()鏂规硶瀹屾垚鎿嶄綔鏃讹紝瀹冭皟鐢ㄤ簡浼犻€掔粰瀹冪殑鍥炶皟鍑芥暟onEvent()
銆?/p>
鍥炶皟鍑芥暟鐨勪娇鐢ㄥ湪Java涓潪甯稿父瑙侊紝鐗瑰埆鏄湪寮傛缂栫▼涓€備緥濡傦紝褰撴垜浠渶瑕佸湪鍚庡彴绾跨▼涓墽琛屾煇浜涙搷浣滃苟鍦ㄥ畬鎴愬悗鏇存柊UI鏃讹紝鎴戜滑鍙互浣跨敤鍥炶皟鍑芥暟鏉ラ€氱煡UI绾跨▼銆?/p>
相关问答