java通过接口回调通信

2019-10-17  本文已影响0人  Haward_
//========================================= Main : 提供回调接口者
import java.util.ArrayList;
import java.util.List;

public class Main {

    // 定义回调接口
    public interface Callback {
        int add(int a, int b);
        void addObject(List<Integer> ls);
    }

    public void testAdd(Callback callback) {
        int c = callback.add(1,2);
        System.out.println(c);
    }

    public void testAddObject(Callback callback) {
        List<Integer> ls = new ArrayList<>();
        ls.add(-1);
        // ls保存TestMain传入信息
        callback.addObject(ls);
        for(int n : ls) {
            System.out.println(n);
        }
    }

    public static void main(String[] args) {

        Main so = new Main();
        TestMain callback = new TestMain();
        so.testAdd(callback);
        so.testAddObject(callback);
    }
}

// ===========================================实现回调接口者
import java.util.List;

public class TestMain implements Main.Callback {
    @Override
    public int add(int a, int b) {
        return a + b;
    }
    // 往Main提供的接口中传入信息
    @Override
    public void addObject(List<Integer> ls) {
        ls.add(1);
        ls.add(2);
    }

}

上一篇 下一篇

猜你喜欢

热点阅读