java通过接口回调通信

//========================================= 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);
    }

}

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容