Анонимная имплементация интерфейса в kotlin

На Java этот трюк хорошо обкатан, IDE Android Studio по одному клику вставляет шаблон для реализации кода выбранного интерфейса. На kotlin это работает немного сложнее.

К примеру, нам требуется реализовать Runnable интерфейс для создания экземпляра класса Thread.

Вы пишите в IDE «Thread», открываете скобку и вам открывается подсказка:

И ожидается, что возможным параметром будет реализация интерфейса Runnable.

Длинный синтаксис реализации предусматривает, что вы используете токен object:

Это можно записать короче, так как наш интерфейс является функциональным и требует реализации единственного метода:

Переменная r нам тоже не нужна, если вы не используете её в других местах, потому можно ещё сильнее сократить запись:

Т.е. IDE знает, что мы можем здесь передать в качестве параметра экземпляр реализации интерфейса Runnable, потому нам не нужно указывать явно ни название интерфейса ни имя единственного метода, который мы реализуем. В конце мы тут же запускаем созданный поток.

Если бы требовалось передать параметры в этот метод, то запись бы выглядела так:

Подсказку от IDE с шаблонами реализации методов интерфейса получить также можно. Наберите:

object подкраситься красным, и если вы вызовите подсказку «ALT+insert», то там можно будет выбрать «имплементировать методы»:

Для функциональных интерфейсов это не очень полезно, я для прочих случаев удобно.

Написать комментарий

Мало букафф? Читайте есчо !

Цвет фона у компонента Button

Январь 16, 2025 г.

Компонент кнопка в android studio имеет огромное число цветовых настроек, связанных прежде всего с material design совместимостью. Поэтому установка цвета фона через атрибут - android:background не работает здесь. Попробуйте использовать другой ...

Читать

Анимированный градиент в ActionBar

Октябрь 23, 2022 г.

Расскажу как создать фон для actionbar с анимацией градиента цвета. Нам понадобится Android Studio и Kotlin. Для начала добавим drawable ресурс в наш проект. Откроем в проекте вкладку res/drawable и выберем из меню File -> New -> Drawable ...

Читать

 

Комментарии к «Анонимная имплементация интерфейса в kotlin»

Понравилась статья? Есть вопросы? - пишите в комментариях.



Комментарий: