Scala 奇怪地打印出 toString() 覆盖

Scala weird printing out toString() override

class Complex(real: Double, imaginary: Double) {
    def re = real
    def im = imaginary
    override def toString() : String =
      "" + re + (if (im < 0) "" else "+") + im + "i"
  }
object Runme {
  // making a new starting point...
  def main(args: Array[String]): Unit = {
    var c = new Complex(2.3, 4.5)
    print(c)
  }
}

当我 运行 这段代码时,为什么我得到 "Complex@3834d63f" 而不是“2.3+4.5i”?

我不小心将 class 复杂声明嵌套在另一个 class 复杂声明中。此问题现已解决。