# Constructor initialization vs Init block in Kotlin

**URL:** <https://discuss.kotlinlang.org/t/constructor-initialization-vs-init-block-in-kotlin/2338>\
**Category:** Language Design\
**Created:** [March 1, 2017, 8:37am UTC](https://discuss.kotlinlang.org/t/constructor-initialization-vs-init-block-in-kotlin/2338 "2017-03-01T08:37:51Z")\
**Posts on this page:** 1\
**Showing post:** 3

<div class="post-metadata">

**Author:** ![abuabdul](https://sea1.discourse-cdn.com/flex019/user_avatar/discuss.kotlinlang.org/abuabdul/32/2355_2.png) [@abuabdul](https://discuss.kotlinlang.org/u/abuabdul)\
**Post date:** [March 1, 2017, 9:31am UTC](https://discuss.kotlinlang.org/t/constructor-initialization-vs-init-block-in-kotlin/2338/3 "2017-03-01T09:31:16Z")

</div>

Hope you are referring to this below.

```
/**
 * Created by abubacker.siddik
 */
class TestDBI(names: String) {
    var first : String by Delegates.notNull()
    var second : String by Delegates.notNull()
    var dbi : String by Delegates.notNull()

    init {
        this.first = names
        dbiInit("DBI Initialization")
    }

    constructor(first: String, second: String) : this(first){
        this.second = second
    }

    fun dbiInit(value: String){
        this.dbi = value
    }
}

fun main(args: Array<String>){
    val testDBI = TestDBI("First", "Second")
    println(testDBI.dbi)
    println(testDBI.first)
    println(testDBI.second)
}

```

I have not explicitly called init block here in the secondary constructor, yet dbi value is initialized. In this case, we call primary constructor (this()) in the secondary constructor that will always invoke init block. So can i conclude init block is primary constructor initializer?

---

_[View the full topic](https://discuss.kotlinlang.org/t/constructor-initialization-vs-init-block-in-kotlin/2338)._
