从init块中的方法初始化Kotlin中的val

咖啡

让我们上课如下:

class TestClass()  {
    val isInitialised : Boolean

    init {
        isInitialised = true
    }
}

ValisInitialised在init块中进行了初始化,并且编译器很高兴。一旦有更多val成员,我想将它们的初始化分组到一个方法中,并从init块中调用该方法,例如:

class TestClass()  {
    val isInitialised : Boolean

    init {
        setInitValue()
    }
    
    private fun setInitValue() {
        isInitialised = true
    }
}

在第二种情况下,我在构建Property must be initialized or be abstract和时收到错误Val cannot be reassigned

有没有办法使用init块中的方法来初始化类的val成员?

阿列克谢·罗曼诺夫(Alexey Romanov)

不可以,但是您可以有多个初始化块,每个初始化块对应于您要使用的方法。

或者,您可以制作属性lateinit var,但是

  1. 这是一个var,而不是一个val
  2. 意外地初始化它很容易

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

确保在Kotlin中初始化val

来自分类Dev

确保在Kotlin中初始化val

来自分类常见问题

Kotlin中的静态初始化块

来自分类Dev

构造函数中调用的初始化块与init()私有方法

来自分类Dev

为什么不能在init块编译中初始化变量接口属性的代码?

来自分类Dev

在Kotlin中初始化交错阵列

来自分类Dev

在 Kotlin 中初始化日期

来自分类Dev

在 Kotlin 中初始化的变量

来自分类Dev

Kotlin 中的响应初始化

来自分类Dev

Kotlin 中的原始属性初始化

来自分类Dev

Java:在初始化块中初始化对象时从另一个类调用对象的方法

来自分类Dev

如何在子特征中初始化特征的val?

来自分类Dev

如何在子特征中初始化特征的val?

来自分类Dev

避免在基本特征中初始化覆盖的“ val”?

来自分类Dev

使用引发异常的方法在静态块中初始化的最终静态变量

来自分类Dev

在“ asis” Markdown块中初始化JS渲染器的推荐方法

来自分类Dev

在初始化程序中找不到自己的配置块方法

来自分类Dev

派生嵌套类中的静态初始化程序块

来自分类Dev

JavaScript未在Drupal块中初始化

来自分类Dev

派生嵌套类中的静态初始化程序块

来自分类Dev

静态初始化的对象不能放在块try中

来自分类Dev

在BeforeFeature方法中初始化Webdriver

来自分类Dev

在方法中初始化字段

来自分类Dev

在方法中初始化Arraylist

来自分类Dev

Swift中初始化方法的分割

来自分类Dev

阻止Servlet上下文在init方法中初始化

来自分类Dev

当init NSCoder是Swift中基类的便捷方法时,在子类中正确初始化NSCoder

来自分类Dev

如何在Swift中初始化init

来自分类Dev

在声明中或使用init初始化Swift类变量?

Related 相关文章

热门标签

归档