Пожалуйста, помогите понять ход выполнения
class Main {
interface Operation { //Создал интерфейс
double method1(double x, double y);//Метод у которого два параметра
}
static class OperationProvider { // Статический класс
static double staticSum(double x, double y) { // Статический метод с двумя параметрами, который возвращает сумму
return x + y;
}
double instanceMinus(double x, double y) { // метод который возвращает разницу
return x - y;
}
}
static double[] massOperation(double[] a, double[] b, Operation operation) { // стат. метод, с тремя параметрами
double[] result = new double[a.length];// задаю размер массива равный длине а
for (int n = 0; n < a.length; n++ ) { // цикл, который выполняется пока n<a.lenght
result[n] = operation.method1(a[n], b[n]); // тут не могу сформулировать что происходит ? передаются эти параметры в method1
}
return result;
}
public static void main (String[] args) {
double[] a = {1.0, 2.2, 3.1};
double[] b = {3.2, 4.1, 9.3};
final OperationProvider myOperationProvider = new OperationProvider();
massOperation(a, b, (x, y) -> OperationProvider.staticSum(x, y));
massOperation(a, b, (x, y) -> myOperationProvider.instanceMinus(x, y));
}
}