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

时间:2017-06-27 01:14:21

标签: scala override tostring

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”?

1 个答案:

答案 0 :(得分:0)

我不小心在另一个类Complex声明中嵌套了类Complex声明。这个问题现在已经解决了。