Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗jvSpMrOb 17 of 322 menu
◀ ▶

Метод конкретного объекта в Java

Ссылку можно зафиксировать на одном экземпляре. Слева от :: тогда стоит переменная с объектом, а не имя класса. Метод вызывают у этого экземпляра, даже если ссылку передают в интерфейс без параметров.

Запись Post::getTitle без объекта ожидает строку-параметр. Запись post::getTitle уже знает, у какой запи брать заголовок. Сравним обе формы:

import java.util.function.Supplier; class Post { private final String title; Post(String title) { this.title = title; } String getTitle() { return title; } } public class Main { public static void main(String[] args) { Post post = new Post("Release notes"); Supplier<String> fromObject = post::getTitle; System.out.println(fromObject.get()); } }

Такой вариант удобен, когда объект уже есть и нужно отложить вызов его метода: например, передать Supplier в код, который прочитает заголовок позже, не меняя ссылку на другую запись.

Класс Article хранит поле author и метод getAuthor. Создайте статью с автором "Ann", получите автора отложенным вызовом и выведите результат.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить