kotlin クラスでセカンダリコンストラクタを使用する

kotlin クラスでセカンダリコンストラクタを使用する

kotlinで、クラスでセカンダリコンストラクタを使用する手順を記述してます。「constructor」で可能です。ここでは、実際に実行した結果を画像で掲載してます。

環境

  • OS windows11 home
  • java 19.0.1
  • kotlin 1.7.20-release-201

手順

セカンダリコンストラクタを使用するには、以下の構文で可能です。

constructor(引数: データ型): this(引数)

実際に、使用して実行してみます。

class Human (val name: String, val age: Int) {

    constructor(name: String) : this(name, 25)

    fun p() {
        println("$name : $age")
    }
}

fun main(){

    val yamada = Human("taro", 30)
    yamada.p()

    val suzuki = Human("jiro")
    suzuki.p()

}

セカンダリコンストラクタが利用できていることが確認できます。

セカンダリコンストラクタは、以下のように複数設定が可能です。

class Human (val name: String, val age: Int) {

    constructor(name: String) : this(name, 25)
    constructor() : this("saburo")

    fun p() {
        println("$name : $age")
    }
}

fun main(){

    val yamada = Human("taro", 30)
    yamada.p()

    val suzuki = Human("jiro")
    suzuki.p()

    val sato = Human()
    sato.p()

}

実行結果