Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android Kotlin,带属性的字符串模板_Android_Kotlin - Fatal编程技术网

Android Kotlin,带属性的字符串模板

Android Kotlin,带属性的字符串模板,android,kotlin,Android,Kotlin,我在学习科特林。我有以下代码: class Person(name: String, surname: String) { } fun main(args: Array<String>) { val p = Person("Tonj", "Manero") println("Hello, world! ${p.name}") } 类人(姓名:String,姓氏:String){ } 趣味主线(args:Array){ val p=人(“Tonj”、“Manero

我在学习科特林。我有以下代码:

class Person(name: String, surname: String) {

}

fun main(args: Array<String>) {
    val p = Person("Tonj", "Manero")
    println("Hello, world! ${p.name}")
}
类人(姓名:String,姓氏:String){
}
趣味主线(args:Array){
val p=人(“Tonj”、“Manero”)
println(“你好,世界!${p.name}”)
}

此代码不起作用,它在编译过程中出错。问题是:如何在Kotlin中的字符串模板中使用属性值?Tnx

因为您是在声明构造函数参数,而不是属性。您必须将它们声明为
val
var

class Person(val name: String, val surname: String) {

}

如果不使用
val
var
,Kotlin会将它们视为构造函数本身的参数。它们可以在任何字段初始值设定项或init块中使用,但不会声明为属性。

因为您声明的是构造函数参数,而不是属性。您必须将它们声明为
val
var

class Person(val name: String, val surname: String) {

}

如果不使用
val
var
,Kotlin会将它们视为构造函数本身的参数。它们可以在任何字段初始值设定项或init块中使用,但不会声明为属性。

还可以看到,在这种情况下,实际上不需要数据类,只需要属性。还可以看到,在这种情况下,实际上不需要数据类,只需要属性。