Присвоение метода для экземпляра класса
Есть такой функциональный интерфейс:
public string Handler();
Для того, чтобы присвоить реализации этого интерфейса конктретный метод использую
Handler handler = SomeClass::someMethod;
Это будет работать только в случае, если someMethod является статичным, как мне сделать, чтобы я могу присвоить метод, который не является статичным?
Ответы (1 шт):
Есть такой функциональный интерфейс:
public string Handler();
Это не совсем похоже на функциональный интерфейс, но допустим хэндлер это он.
Это будет работать только в случае, если someMethod является статичным, как мне сделать, чтобы я могу присвоить метод, который не является статичным?
Не только со статичным. Но если не статик, то и экземпляр класса SomeClass нужен. И тут нужно чтобы количество аргументов у метода функционального интерфейса Handler было на один больше, чем у someMethod.
Можно почитать про оператор :: Что значит оператор ::?