Property must be initialized or be abstract

前端 未结 2 376
情话喂你
情话喂你 2021-02-01 11:17

It must be stupid question, but I\'m really new to Kotlin and I didn\'t find any solution.

How to declare class field? Like we can have it in java:

prote         


        
相关标签:
2条回答
  • 2021-02-01 12:10

    If you'd like to initialize a property outside the constructor, then late-initialized properties is what you may be looking for. Declare the property with the lateinit modifier, which will allow to skip the otherwise required initializer and will make the property access fail with exception until some meaningful value is assigned to it:

    protected lateinit var sharedPreferences: SharedPreferences
    
    0 讨论(0)
  • 2021-02-01 12:13

    Pulling this out of the comments from Alexander Udalov's answer for visibility. For nullable properties:

    protected var sharedPreferences : SharedPreferences? = null

    ...and assign it a value later.

    0 讨论(0)
提交回复
热议问题