Класс Groovy не определяет конструктор, но вы можете использовать следующий конструктор, чтобы установить начальное значение для класса Groovy;
new добрыйимя(Имя участника1: Значение члена 1, Имя участника2: Значение члена 2)
Любой заказ : Любой член заказ , Нет обязательного требования , Просто нужно Имя участника и Просто сопоставьте значения членов ;
Любое число : член Любое число , Всем атрибутам можно присвоить значение , Вы также можете присвоить значения только некоторым атрибутам. ;
Следующий код:
class Student {
def name
def age
}
// Создать экземпляр Student добрый
// Обычное задание
def student = new Student(name: "Tom", age: 18)
// Назначение в обратном порядке
def student2 = new Student(age: 16, name: "Jerry")
// Толькодля name Передача собственности
def student3 = new Student(name: "Jim")
// Распечатайте значения двух объектов
println "student : ${student.name} , ${student.age}"
println "student2 : ${student2.name} , ${student2.age}"
println "student3 : ${student3.name} , ${student3.age}"
Результат выполнения:
student : Tom , 18
student2 : Jerry , 16
student3 : Jim , null
В конструкторе Groovy вы можете использовать
Имя участника1: Значение члена 1, Имя участника2: Значение члена 2
Параметр типа, который представляет собой набор типов карты пар ключ-значение;
Но для обычных функций указанный выше формат использовать невозможно.
Имя переменной 1: значение переменной 1, Имя переменной 2: Значение переменной 2
Код стиля распознает вышеуказанные параметры как коллекцию карт;
Определен класс Groovy, и определенные в нем методы получают
параметры;
class Student {
def name
def age
def printValue(a, b) {
println "${a}, ${b}"
}
}
Если вы используете student.printValue(a: “Tom”, b: 18) , сообщит об ошибке , Было передано только одно приглашение map коллекция как параметр ;
Для правильного выполнения функции printValue необходимо использовать следующую форму;
// входящий a: "Tom", b: 18 Это первый параметр , это map собирать
// Второй параметр "Jerry" нить
student.printValue(a: "Tom", b: 18, "Jerry")
Полный пример кода:
class Student {
def name
def age
def printValue(a, b) {
println "${a}, ${b}"
}
}
// Создать экземпляр Student добрый
def student = new Student(name: "Tom", age: 18)
def student2 = new Student(age: 16, name: "Jerry")
def student3 = new Student(name: "Jim")
// Распечатайте значения двух объектов
println "student : ${student.name} , ${student.age}"
println "student2 : ${student2.name} , ${student2.age}"
println "student3 : ${student3.name} , ${student3.age}"
// Ниже приводится неправильное использование
// a: "Tom", b: 18 Параметр представляет собой пару ключ-значение. , Выполнение сообщит об ошибке
// student.printValue(a: "Tom", b: 18)
// входящий a: "Tom", b: 18 Это первый параметр , это map собирать
// Второй параметр "Jerry" нить
student.printValue(a: "Tom", b: 18, "Jerry")
Результат выполнения:
student : Tom , 18
student2 : Jerry , 16
student3 : Jim , null
[a:Tom, b:18], Jerry