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