Groovy语言特性与优势详解
1. 构造函数
在Groovy类中,很少看到显式定义的构造函数。这是因为Groovy编译器会添加一个接受Map的构造函数,它会将Map中的键值对对应到类的字段上。这种方式提供了命名参数的构造函数语法,既方便又清晰地表明了各个值的含义。
例如,定义一个简单的 Person
类:
class Person {
String firstName
String initial
String lastName
Integer age
}
可以通过设置部分或全部字段值来构造对象:
def author = new Person(firstName: 'Hunter', initial: 's', lastName: 'Thompson')
def illustrator = new Person(firstName: 'Ralph', lastName: 'Steadman', age: 76)
def someoneElse = new Person()
在这些示例中,省略了Map的 [
和 ]
字符,使调用更加简洁。
对于有很多字段的类,这种方式特别有用。在Java中,要么定义多个不同签名的构造函数,要么在没有值的地方传递大量的 null
。
需要注意