当然,对于简单的整数加法,Scala 编译器也会 “得到正确的结果”,它们在语法上是完全一样的。这意味着您可以开发与 Scala 语言 “内置” 的类型完全相同的类型。
Scala 编译器甚至会尝试推断具有某种预定含义的 “操作符” 的其他含义,例如 += 操作符。注意,虽然 Rational 类并没有显式地定义 +=,下面的代码仍然会正常运行:
清单 8. Scala 推断
var r5 = new Rational(3,4)
r5 += r1