解释器通过调用Rational对象的toString方法得到这个貌似无稽的字符串。默认情况下,Rational类继承了java.lang.Object类的toString实现,只会打印类名、@符号和十六进制数。目前toString提供的结果不能给出Rational数值的任何特征信息,因此没什么大用。为了能够打印出Rational的分子与分母。我们可以重写(override)Rational类的toString方法实现,如下:
package scalaTest
class Rational(n:Int,d:Int) {
override def toString = n + "/" + d
}
object M1{
def main(args:Array[String]){
println(new Rational(1,2))
}
}
方法定义前的override修饰符说明这是对原方法定义的重写,后面我们会详细说明重写,这里先点到为止。现在有理数可以较为美观地显示。