В 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 и сократить объем кода п