kotlin:sceondary构造函数中的“未解析的引用”

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了kotlin:sceondary构造函数中的“未解析的引用”相关的知识,希望对你有一定的参考价值。

我对kotlin很新,也许这可能是一个愚蠢的问题,但为什么使用辅助参数中定义的变量会在我尝试打印时出现“未解析的引用”错误,而在主要构造函数的情况下不会发生同样的错误

fun main(args: Array<String>){    
    var stud= Student("Yash", 10)    
}

class Student(name: String) {
    init {
        println("name is $name")
    }

    constructor(n: String, Id: Int): this(n) {
       println("name is $n")
       println("id is $id")
    }
}
答案

参数ID是小写字母,但是您尝试打印大写字母ID,现在就像这样改变它

构造函数(n:String,id:Int)

fun main(args: Array<String>){
var stud= Student("Yash", 10)
}

class Student(name: String) {
init {
    println("name is $name")
}

constructor(n: String, id: Int): this(n) {
    println("name is $n")
    println("id is $id")
}
}

以上是关于kotlin:sceondary构造函数中的“未解析的引用”的主要内容,如果未能解决你的问题,请参考以下文章

Kotlin语言中的继承与构造函数(详解)

带有命名参数的 Kotlin 中的 Dagger 2 构造函数注入

从Kotlin构造函数android中的Parcelable读取List列表

kotlin之构造函数(constructor)

Kotlin 中这些东西的用途是啥?

Kotlin学习之路:继承