En résumé
-
Il est possible d’utiliser des éléments spécifiques du langage Kotlin pour initialiser des attributs de classe autrement que dans le constructeur, sans que ces attributs soient nullables pour autant.
-
Le mot-clé lateinit permet de déclarer un attribut non nullable tout en laissant la possibilité de l’initialiser en dehors du constructeur.
-
Un attribut déclaré avec le mot-clé lateinit est obligatoirement un attribut accessible en lecture et en écriture (var).
-
Il est possible de créer une initialisation paresseuse des attributs à l’aide du bloc by lazy { }.
-
Un attribut déclaré avec le bloc by lazy { } est obligatoirement un attribut en lecture seul (val).
-
Le bloc by lazy { } peut contenir plusieurs instructions.
-
Le bloc by lazy { } est compatible avec l’inférence de type.