dir.by  
Programming, development, testing
Kotlin
lateinit is a late initialization for the class field | Kotlin
  Looked at 1509 times    
 lateinit is a late initialization for the class field | Kotlin 
last updated: 2 February 2025
The lateinit modifier tells the compiler that there is no value now, but will initialize later.
  Kotlin  
class MyBook
{
     lateinit var address: MyAddress
}
Example 1 I use 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()
}
Example 2 not using lateinit and compilation error
  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()
}
 
← Previous topic
What is class in Kotlin? Example: class MyBook { ... }
 
Next topic →
class that inherits from interface in Kotlin | Example: class MyBook : IBook { ...}
 
Your feedback ... Comments ...
   
Your Name
Your comment (www links can only be added by a logged-in user)

Экскурсии по Москве Экскурсии по Москве: пешеходные, автобусные и речные прогулки на любой вкус
  Объявления  
  Объявления  
 
What is Kotlin?
Why is IntelliJ IDEA the most popular development environment for Kotlin?
Download and install IntelliJ IDEA to explore Kotlin
Create a new project in IntelliJ IDEA for study Kotlin
Int, Float, Boolean, Char ...
Integer numbers in Kotlin are: Byte, UByte, Short, UShort, Int, UInt, Long, ULong
Decimal numbers in Kotlin are: Float, Double
A flag with values of true or false in Kotlin is: Boolean
The symbol in Kotlin is: Char
Convert number to text in Kotlin | Int → String
String
The string, the text in Kotlin is: String
Interpolate strings in Kotlin. Example: val address:String = "${street}, ${country}"
What is the difference between String and StringBuilder ?
Enum
What is an enumeration (enum) in Kotlin ?
How do I find enum by value in Kotlin ?
Class
What is class in Kotlin? Example: class MyBook { ... }
lateinit is a late initialization for the class field | Kotlin
class that inherits from interface in Kotlin | Example: class MyBook : IBook { ...}
Unnamed class that inherits from interface in Kotlin | Example: val book1 = object : IBook { ...}
Generic, template class in Kotlin | Example: class MyBook<T> { ... }
Collections and Arrays
Create collections list, set, map and an array array in Kotlin
null
null value, use the symbol ? and ?. and !! and ?: and !!. and ?. in Kotlin
Lambda function
Lambda function in Kotlin. Example 1: var myFunc1 : (a:Int, b:Int) -> Int = { p1, p2 -> p1 + p2 };

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