Groovy 数字也是对象

所有的程序都离不开数字,大多数情况下,为了计算和索引。

Groovy的数字有一般的表现形式。

Groovy的数字不像java,他们都是类对象,而不是专有类型。

在java中,不允许在专有类型上调用方法,如果x是一个专有的类型int,不能写这样的代码x.toString()。另一方面,如果y是一个对象,你不能像“2*y”这样用。 在groovy中,这两者都是允许的,能够在数字上使用数字操作符,并且也可以在数字实例上调用方法。[code]def x = 1

def y = 2
assert x + y == 3 assert x.plus(y) == 3
assert x instanceof Integer
[/code]变量x和y都是java.lang.Integer的实例,因此,可以调用plus方法,但是也可以方便的使用“+”操作符。

这让人十分意外,并且是对java平台面向对象的一个重大提升,而java有一小部分不 是面向对象的,因此java不是纯粹意义上的面向对象的语言,groovy中保证了一切事物都是对象。