Java Guru 🤓
13.2K subscribers
891 photos
16 videos
760 links
Канал с вопросами и задачами с собеседований!

По сотрудничеству и рекламе: @NadikaKir

Канал в перечне РКН: https://vk.cc/cJrSQZ

Мы на бирже: telega.in/channels/javatasks/card?r=lcDuijdm
Download Telegram
Как инициализировать переменную функционального интерфейса?

Функциональный интерфейс – всё ещё интерфейс, поэтому остаются доступными стандартные способы. Интерфейс можно реализовать обычным классом, и затем создать его экземпляр оператором new. Можно совместить эти два действия, и создать экземпляр анонимного класса.

Основное преимущество, которое дает функциональный интерфейс – два дополнительных способа инициализации параметров и переменных.

1. Лямбда-выражение: (x, y) -> x * y
2. Ссылка на метод: Math::sqrt

На эти способы накладывается небольшое ограничение: тип функционального параметра/переменной должен быть указан явно. Это значит, что лямбдой или метод-референсом нельзя инициализировать переменную, объявленную ключевым словом var. Также, чтобы передать лямбду или референс в параметр generic-типа, этот тип должен быть ограничен функциональным интерфейсом (должен стираться в него).


Java Guru🤓 #java
👍7🔥4🤯1
Какие варианты создания потоков являются верными?
👍6🔥4
Какие варианты создания потоков являются верными?
Anonymous Quiz
40%
1, 2, 3
13%
1, 2, 3, 5
4%
1, 4
11%
Только 2
31%
Все верные
👍5🔥3
Что будет в результате вызова метода?
🔥3👍2
Что будет результатом этого кода?
👍4🔥2
К каким полям можно получить доступ из другого пакета?
👍5🔥3🥴2
К каким полям можно получить доступ из другого пакета?
Anonymous Quiz
1%
privateField
5%
defaultField, protectedField
50%
publicField
3%
Все поля будут недоступны
41%
protectedField, publicField
👍7😐4🔥21🤔1
Почему возможна ошибка во время выполнения кода?
👍5🔥4
Какой из методов Stream возвращает один элемент в результате выполнения?
Anonymous Quiz
6%
filter()
8%
forEach()
62%
reduce()
7%
map()
18%
collect()
👍8🔥3🤨2
Что будет результатом кода?
👍6🔥3
👍9🔥3
Что будет результатом кода?
👍21🔥1
Что будет результатом кода?
Anonymous Quiz
11%
5 10 15 20 30
9%
8 10 20 30
27%
5 8 10 15 20 30
9%
8 10 15 20 30
43%
10 15 20 30
👍11🔥4
Что будет результатом фрагмента кода?
👍3🔥2
👍10🔥3
Что можно импортировать статически?

Обычный импорт избавляет от необходимости писать полное имя классов: при использовании можно не указывать пакет. Статические импорты делает то же самое, но для статических членов класса.

Самое распространенное применение статического импорта – включение констант из константных интерфейсов и статических методов из утилитарных классов. Но также можно включать и изменяемые статические поля других классов.

Отдельно интересен случай nested-класса. Он одновременно является и классом, и статическим членом другого класса. Поэтому для него работает как обычный, так и статический импорт.

Языковая конструкция static import обязана располагаться там же, где и обычные импорты – обязательно между package и объявлением основного класса файла.


Java Guru🤓 #java
👍7🔥43