dir.by  
  Поиск  
Программирование, разработка, тестирование
Kotlin
lateinit это поздняя инициализация для поля class | Kotlin
  Посмотрели 967 раз(а)    
 lateinit это поздняя инициализация для поля class | Kotlin 
последнее обновление: 2 февраля 2025
Модификатор lateinit говорит компилятору, что значения сейчас нет, но проинициализируется позже.
  Kotlin  
class MyBook
{
     lateinit var address: MyAddress
}
Пример 1 использую lateinit
  Kotlin  
class MyAddress (val street:String, val country:String)
{
     fun Show() { println("${street}, ${country}") }
}

class MyBook
{
     lateinit var address: MyAddress
}

fun main() {

     val book1:MyBook = MyBook()

     book1.address = MyAddress("street 23", "Spain")
     book1.address.Show()

     book1.address = MyAddress("street 1", "India")
     book1.address.Show()
}
Пример 2 не использую lateinit и ошибка компиляции
  Kotlin  
class MyAddress (val street:String, val country:String)
{
     fun Show() { println("${street}, ${country}") }
}

class MyBook
{
     var address: MyAddress       build error 'Property must be initialized or be abstract'
}

fun main() {

     val book1:MyBook = MyBook()

     book1.address = MyAddress("street 23", "Spain")
     book1.address.Show()

     book1.address = MyAddress("street 1", "India")
     book1.address.Show()
}
 
← Предыдущая тема
Что такое class в Kotlin? Пример: class MyBook { ... }
 
Следующая тема →
class, который наследует от интерфейса в Kotlin | Пример: class MyBook : IBook { ...}
 
Ваши Отзывы ... комментарии ...
   
Вашe имя
Ваш комментарий (www ссылки может добавлять только залогиненный пользователь)

  Объявления  
  Объявления  
 
Что такое Kotlin ?
Почему самой популярной средой разработки для Kotlin является IntelliJ IDEA?
Скачать и установить IntelliJ IDEA для изучения Kotlin
Создание нового проекта в IntelliJ IDEA для изучения Kotlin
Int, Float, Boolean, Char ...
Целые числа в Kotlin: Byte, UByte, Short, UShort, Int, UInt, Long, ULong
Десятичные числа в Kotlin: Float, Double
Флаг со значениями true или false в Kotlin это: Boolean
Символ в Kotlin это: Char
Конвертация числа в текст на языке Kotlin | Int → String
String
Строка, текст в Kotlin это: String
Интерполяция строк в Kotlin. Пример: val address:String = "${street}, ${country}"
В чем отличие String и StringBuilder ?
Enum
Что такое перечисление (enum) в Kotlin ?
Как найти enum по значению в Kotlin ?
Class
Что такое class в Kotlin? Пример: class MyBook { ... }
lateinit это поздняя инициализация для поля class | Kotlin
class, который наследует от интерфейса в Kotlin | Пример: class MyBook : IBook { ...}
Безымянный class, который наследует от интерфейса в Kotlin | Пример: val book1 = object : IBook { ...}
Общий, template class в Kotlin | Пример: class MyBook<T> { ... }
Коллекции и массивы
Создаем коллекции list, set, map и массив array в Kotlin
null
null значение используем символ ? и ?. и !! и ?: и !!. и ?. в Kotlin
Лямбда функция
Лямбда функция в Kotlin. Пример1: var myFunc1 : (a:Int, b:Int) -> Int = { p1, p2 -> p1 + p2 };

  Ваши вопросы присылайте по почте: info@dir.by  
Яндекс.Метрика