匿名内部类

public interface Compute {
    int sum(int i,int j);
}
public class MyMath {

    /**
     * 计算的一个方法
     * @param compute 接口对象
     * @param i 需要来进行求和的变量
     * @param j 需要来进行求和的变量
     */
    public void sum(Compute compute, int i, int j) {
        int sum = compute.sum(i, j);
        System.out.println(i + "+" +j+ "=" + sum);
    }
}

测试类:

public class Test {
    public static void main(String[] args) {
        MyMath myMath = new MyMath();
        // 按照传统的方式的话,那么这里应该是创建实现类来进行实现
        myMath.sum(new Compute() {
            @Override
            public int sum(int i, int j) {
                return i+j;
            }
        }, 250, 520);

        // 其实可以不要这么进行操作
        MyMath myMath1 = new MyMath();
        myMath1.sum((i,j)->i+j,200,300);
    }
}

对比一下

posted @ 2022-03-28 00:09  雩娄的木子  阅读(20)  评论(0编辑  收藏  举报