同Java一样,如果没有显式定义构建器,您会得到一个无参数的默认的构建器;与Java不同的是,Groovy中您可以多种方式调用构建器,如下面的例子。
假设您有一个Employee类:
class Employee{
String firstName,lastName
Employee(firstName, lastName){
this.firstName = firstName
this.lastName = lastName
}
}
您可通过以下几种方式调用Employee类:
l Java的方式
def employee = new Employee('Bashar','AbdulJawad')
l 显式类型转换
employee = ['Bashar','Abdul Jawad'] as Employee
l 隐式类型转换
Employee employee2 = ['Bashar','AbdulJawad']
l 隐式构建器
Employee employee3
employee3 = ['Bashar','Abdul']
您也可以使用命名参数调用构建器。给定如下一个类:
class Employee{
String firstName, lastName
}
您可调用下面任意一个构建器:
new Employee()
new Employee(firstName: 'Bashar')
new Employee(lastName: 'AbdulJawad')
new Employee(firstName: 'Bashar', lastName: 'AbdulJawad')
使用命名参数来调用构建器是非常有用的,因为您不必为每个可能字段组合显式定义单独的构建器。 Groovy 自动为您生成各种组合的构建器。