[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"question-java-8-kakie-vidy-ssylok-na-metody-vy-znaete":3},{"id":4,"slug":5,"topicId":6,"topicSlug":7,"topicName":8,"topicEmoji":9,"question":10,"answer":11,"codeLang":12,"codeSrc":12,"important":12,"commonMistakes":12,"modernUsage":12,"difficulty":13,"tags":14,"related":16,"progress":17,"seo":18},339,"kakie-vidy-ssylok-na-metody-vy-znaete",10,"java-8","Java 8+","☕","Какие виды ссылок на методы вы знаете?","Существует четыре вида ссылок на методы в Java 8. Каждый вид соответствует определённому способу вызова метода и имеет свой синтаксис.\n\n| Вид | Синтаксис | Пример |\n|-----|-----------|--------|\n| На статический метод | `ClassName::staticMethod` | `Integer::parseInt` |\n| На метод конкретного экземпляра | `instance::method` | `System.out::println` |\n| На метод произвольного экземпляра данного типа | `ClassName::instanceMethod` | `String::toLowerCase` |\n| На конструктор | `ClassName::new` | `ArrayList::new` |\n\nРазница между вторым и третьим видом: при ссылке на конкретный экземпляр (`instance::method`) объект уже известен, и первый аргумент лямбды передаётся в метод. При ссылке через тип (`ClassName::instanceMethod`) первый аргумент лямбды становится объектом-получателем вызова (`this`), а остальные аргументы передаются в метод.\n\n> **На собеседовании:** интервьюеры часто ожидают именно четыре вида, а не три. Третий вид (ссылка на instance-метод через имя класса) — самый неочевидный, и его стоит пояснить на примере: `String::length` эквивалентен `s -> s.length()`.","","junior",[15],"java8",[],null,{"title":19,"description":20,"ogTitle":19,"ogDescription":21,"keywords":22,"schemaAnswer":20,"featuredSnippetReady":23},"Какие виды ссылок на методы вы знаете? — Gymterview","Существует четыре вида ссылок на методы в Java 8. Каждый вид соответствует определённому способу вызова метода и имеет свой синтаксис.","Существует четыре вида ссылок на методы в Java 8. Каждый вид соответствует определённому способу вызова метода и имеет с",[15,13],true]