В Java 8 был представлен еще один синтаксис ссылок на методы, который называется "ссылки на методы экземпляра". Он позволяет ссылаться на методы конкретного объекта, а не только на статические методы класса.
Ссылки на методы экземпляра выглядят следующим образом:
receiver::methodName
где receiver - это объект, на котором вызывается метод, а methodName - имя метода.
Например, если у нас есть класс Person с методом getName(), мы можем использовать ссылку на метод этого метода для создания экземпляра функционального интерфейса Supplier, как показано ниже:
Person person = new Person("Alice");
Supplier<String> s = person::getName;
String name = s.get(); // name = "Alice"
Здесь мы создаем объект person класса Person и передаем его в ссылку на метод getName() для создания поставщика s. Мы вызываем метод get() на поставщике s, чтобы получить имя объекта person.
Таким образом, ссылки на методы экземпляра позволяют более эффективно работать с методами объектов в Java и сократить объем кода при работе с функциональными конструкциями.
1606 вопрос-ответ по Java: https://github.com/DEBAGanov/interview_questions
Tелеграмм канал: https://t.me/DEBAGanov
Мое резюме: https://github.com/DEBAGanov