Question: Your class has a property name that gets assigned later. You do not want it to be a nullable type. Using a delegate, how should you declare it?

  1. `lateinit var name: String` // lateinit is modifier not delegate
  2. `var name: String by lazy`
  3. `var name: String by Delegates.notNull()`
  4. `var name: String? = null`

Answer: The correct answer of the above question is Option C:`var name: String by Delegates.notNull()`