匿名内部类
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);
}
}
对比一下
从理论中来,到实践中去,最终回归理论