【Groovy】Groovy 方法调用 ( Groovy 构造函数中为成员赋值 | Groovy 函数的参数传递与键值对参数 | 完整代码示例 )
文章目錄
- 一、Groovy 構(gòu)造函數(shù)中為成員賦值
- 二、Groovy 函數(shù)的參數(shù)傳遞與鍵值對(duì)參數(shù)
- 三、完整代碼示例
一、Groovy 構(gòu)造函數(shù)中為成員賦值
Groovy 類沒(méi)有定義構(gòu)造函數(shù) , 但是可以使用如下形式的構(gòu)造函數(shù) , 為 Groovy 類設(shè)置初始值 ;
new 類名(成員名1: 成員值1, 成員名2: 成員值2)順序隨意 : 成員的順序隨意 , 沒(méi)有強(qiáng)制要求 , 只需要 成員名 與 成員值對(duì)應(yīng)即可 ;
個(gè)數(shù)隨意 : 成員個(gè)數(shù)隨意 , 可以為所有的屬性賦值 , 也可以只為其中的部分屬性賦值 ;
如下代碼 :
class Student {def namedef age }// 實(shí)例化 Student 類 // 正常賦值 def student = new Student(name: "Tom", age: 18) // 顛倒順序賦值 def student2 = new Student(age: 16, name: "Jerry") // 只為 name 屬性賦值 def student3 = new Student(name: "Jim")// 打印兩個(gè)對(duì)象的值 println "student : ${student.name} , ${student.age}" println "student2 : ${student2.name} , ${student2.age}" println "student3 : ${student3.name} , ${student3.age}"執(zhí)行結(jié)果為 :
student : Tom , 18 student2 : Jerry , 16 student3 : Jim , null二、Groovy 函數(shù)的參數(shù)傳遞與鍵值對(duì)參數(shù)
在 Groovy 的構(gòu)造函數(shù)中 , 可以使用
成員名1: 成員值1, 成員名2: 成員值2類型的參數(shù) , 這是鍵值對(duì) map 類型的集合 ;
但是對(duì)于普通的函數(shù) , 不能使用上述格式 , 如果出現(xiàn)
變量名1: 變量值1, 變量名2: 變量值2樣式的代碼 , 會(huì)將上述參數(shù)識(shí)別為一個(gè) map 集合 ;
定義了一個(gè) Groovy 類 , 其中定義的方法接收 222 個(gè)參數(shù) ;
class Student {def namedef agedef printValue(a, b) {println "${a}, ${b}"} }如果使用 student.printValue(a: “Tom”, b: 18) , 就會(huì)報(bào)錯(cuò) , 提示只傳入了一個(gè) map 集合作為參數(shù) ;
必須使用如下形式 , 才能正確執(zhí)行 printValue 函數(shù) ;
// 傳入的 a: "Tom", b: 18 是第一個(gè)參數(shù) , 這是一個(gè) map 集合 // 第二個(gè)參數(shù)是 "Jerry" 字符串 student.printValue(a: "Tom", b: 18, "Jerry")三、完整代碼示例
完整代碼示例 :
class Student {def namedef agedef printValue(a, b) {println "${a}, ${b}"} }// 實(shí)例化 Student 類 def student = new Student(name: "Tom", age: 18) def student2 = new Student(age: 16, name: "Jerry") def student3 = new Student(name: "Jim")// 打印兩個(gè)對(duì)象的值 println "student : ${student.name} , ${student.age}" println "student2 : ${student2.name} , ${student2.age}" println "student3 : ${student3.name} , ${student3.age}"// 下面是錯(cuò)誤用法 // a: "Tom", b: 18 參數(shù)代表了一個(gè)鍵值對(duì)集合 , 執(zhí)行會(huì)報(bào)錯(cuò) // student.printValue(a: "Tom", b: 18)// 傳入的 a: "Tom", b: 18 是第一個(gè)參數(shù) , 這是一個(gè) map 集合 // 第二個(gè)參數(shù)是 "Jerry" 字符串 student.printValue(a: "Tom", b: 18, "Jerry")執(zhí)行結(jié)果 :
student : Tom , 18 student2 : Jerry , 16 student3 : Jim , null [a:Tom, b:18], Jerry總結(jié)
以上是生活随笔為你收集整理的【Groovy】Groovy 方法调用 ( Groovy 构造函数中为成员赋值 | Groovy 函数的参数传递与键值对参数 | 完整代码示例 )的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 【Groovy】Groovy 方法调用
- 下一篇: 【Groovy】Groovy 方法调用