Scala 传递给类的字符串显示为空
以下是我的简短代码:Scala 传递给类的字符串显示为空,scala,Scala,以下是我的简短代码: class InnoString(abc: String)extends App{ val message=abc override def toString(): String ={ return message } def concat(sub : String): String={ return s"$sub$message" } } object checkInno extends App{ val
class InnoString(abc: String)extends App{
val message=abc
override def toString(): String ={
return message
}
def concat(sub : String): String={
return s"$sub$message"
}
}
object checkInno extends App{
val x = new InnoString("harshil")
println(x)
println(x.concat("there "))
}
现在的结果是:
预期产出为:
这是因为应用程序更改了变量的初始化方式。删除extends应用程序,它的行为将与您预期的一样。类为什么要扩展应用程序?为什么要在这里打印?这里打印的是一张忘记删除的支票。问题出在扩展应用程序上。
here
null
there null
here
harshil
there harshil