properties - Kotlin:如何访问构造函数中的属性

标签 properties delegates kotlin

考虑以下类(class):

class Test() {
    init {
        log(foo)
    }

    val foo = "Bar"
}

当我无效化Test时,它会生成NullPointerException,因为foo似乎没有初始化。这种行为实际上是故意的吗?有解决方法吗?

最佳答案

类的主体从上到下执行。如果要在属性初始化后运行某些代码,则应将其放在下面:

class Test() {
    val foo = "Bar"

    init {
        log(foo)
    }
}

关于properties - Kotlin:如何访问构造函数中的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26466969/

相关文章:

c# - 封装在哪里?

c# - 如何创建代理以收听表单上的所有文本框

java - 属性文件未更新

iphone - 在另一个类接口(interface)文件中实现委托(delegate)

c# - 向现有函数添加功能(C#、C++)

generics - 具有泛型返回类型的函数

java - Spring Integration 是否有对 FTP 的代理支持?

Java 到 Kotlin 的转换

java - Hibernate log4j.properties 打印 DB uname 和 pass

objective-c - 在 objective-c 中使用 ivars 与属性的原因