Я изучал источник Java 8 и обнаружил, что эта часть кода очень удивительна:
//defined in IntPipeline.java
@Override
public final OptionalInt reduce(IntBinaryOperator op) {
    return evaluate(ReduceOps.makeInt(op));
}
@Override
public final OptionalInt max() {
    return reduce(Math::max); //this is the gotcha line
}
//defined in Math.java
public static int max(int a, int b) {
    return (a >= b) ? a : b;
}
Является ли Math::max чем-то вроде указателя метода? Как обычный метод static преобразуется в IntBinaryOperator?
