JAVA回调机制是这样的么
- package com.test;
- public class CallBackTest {
- public interface CallBack{
- public void call();
- }
- public class Event{
- private CallBack cb;
- public Event(CallBack cb){
- this.cb = cb;
- }
- public final void doWork(){
- System.out.println("正在处理事情......");
- System.out.println("处理事情完毕");
- cb.call();
- }
- }
- public void Test(){
- Event t = new Event(new CallBack(){
- @Override
- public void call() {
- System.out.println("回调正在执行......");
- System.out.println("回调执行完毕");
- }
- }) ;
- t.doWork();
- }
- public static void main(String[] args) {
- CallBackTest test = new CallBackTest();
- test.Test();
- test.TestA();
- test.TestB();
- }
- public abstract class EventA implements CallBack{
- public final void doWork(){
- System.out.println("正在处理事情A......");
- System.out.println("处理事情A完毕");
- this.call();
- }
- }
- public void TestA(){
- EventA t = new EventA(){
- @Override
- public void call() {
- System.out.println("回调A正在执行......");
- System.out.println("回调A执行完毕");
- }
- };
- t.doWork();
- }
- public abstract class EventB {
- public abstract void call();
- public final void doWork(){
- System.out.println("正在处理事情B......");
- System.out.println("处理事情B完毕");
- this.call();
- }
- }
- public void TestB(){
- EventB t = new EventB(){
- @Override
- public void call() {
- System.out.println("回调B正在执行......");
- System.out.println("回调B执行完毕");
- }
- };
- t.doWork();
- }
- }
转载于:https://blog.51cto.com/chcheng/959307