Если вы переходите с java на kotlin, то у вас часто возникают вопросы вроде — как сделать на kotlin то, что вы делали на java вот так и так.
В java вызов перегруженного конструктора в другом конструкторе класса выглядит следующим образом. Представим, что у нас есть класс с двумя полями и два конструктора.
|
|
public class MyClass { private int id; private String name; public MyClass(int id, String name) { this.id = id; this.name = name; } public Myclass(String name) { this(0, name); ... } } |
Во втором конструкторе мы вызываем первый, используя токен this. И выполняем еще какой то код после этого (многоточие). Вот как тоже самое будет выглядеть в kotlin реализации:
|
|
class MyClass { private var id: Int = 0; private var name: String = ""; constructor(id: Int, name: String) { this.id = id this.name = name } constructor(name: String): this(0, name) { ... } } |
Вызов другого конструктора указывается через двоеточие, а код оборачивается в тело второго конструктора.
Android Studio
Данная запись опубликована в 21.01.2025 16:52 и размещена в рубрике Kotlin.
Вы можете перейти в конец страницы и оставить ваш комментарий.
Мало букафф? Читайте есчо !
Февраль 25, 2025 г.
Рассмотрим использование двух паттернов программирования в kotlin - singleton и doublecheck.
У нас есть пример кода, где экземпляр класса получается как singleton. Для асинхронного вызова функции используется блок синхронизации.
[crayon-6965c754b8b04343839151/] ...
Читать
Февраль 9, 2025 г.
Куча готовых решений в сети, но почему то ничего не работает. Пришлось исследовать этот вопрос. Оказалось, что gradle.kts это тоже kotlin скрипт, который выполняется каждый раз при сборке проекта.
И задача состоит в том, чтобы увеличивать версию ...
Читать
Февраль 15, 2025 г.
Иногда на собесах спрашивают что такое view binding, и звучит это как некая сложная тема, но на самом деле, это просто фича сборщика, которую можно использовать для упрощения доступа к элементам шаблонов.
Этот механизм упрощает работу с элементами ...
Читать
Январь 23, 2025 г.
Для чтения данных из интернет есть множество библиотек и классов, потому не стоит делать так, как это описано ниже в статье. Я буду использовать базовые библиотеки, и будет много кода (kotlin).
Задача - есть BASE_URL, надо прочитать текстовые данные. ...
Читать