Я думаю, что вы спрашиваете, как передать функцию конструктору, чтобы она могла быть применена позже. Если это так, то вам вообще не нужен класс: то, что вы определяете, это IntUnaryOperator
- т.е. функция, которая принимает int и возвращает int.
Итак:
IntUnaryOperator makeNodeTransitionFunction(double exp, double mod) {
return x -> Math.round(Math.mod(Math.power(x, exp), mod));
}
Затем, применяя его как:
makeNodeTransitionFunction(7, 11).apply(5)
Если вам нужно, чтобы он был в классе, вы можете сделать IntUnaryOperator
приватным полем, которое назначается в конструкторе. Затем метод apply
просто делегирует это поле.