文章目录
- 一、使用 对象名.成员名 访问 Groovy 类的成员
- 二、使用 对象名.'成员名' 访问 Groovy 类的成员
- 三、使用 对象名['成员名'] 访问 Groovy 类的成员
- 四、完整代码示例
一、使用 对象名.成员名 访问 Groovy 类的成员
对 对象名.成员名 赋值 , 相当于执行 setter 方法 ;
class Student
def name
def age
def student = new Student()
student.name = "Jerry"
student.age = 16
使用 对象名.成员名 访问成员 , 相当于执行 getter 方法 ;
println student.name
println student.age
执行结果 :
Jerry
16
二、使用 对象名.‘成员名’ 访问 Groovy 类的成员
可以使用 对象名.‘成员名’ 访问 Groovy 类的成员 , 这样写的好处是 , 不用将代码写死 , 在运行时可以自由灵活的决定要访问哪个成员 ;
如 : 从配置文件中获取要访问哪个成员 , 或者从服务器端获取要访问的成员 ;
在 Java 中如果要根据字符串决定要访问哪个成员 , 只能通过反射进行访问 ;
代码示例 :
class Student
def name
def age
def student = new Student()
student.'name' = "Han"
student.'age' = 32
println student.'name'
println student.'age'
执行结果 :
Han
32
三、使用 对象名[‘成员名’] 访问 Groovy 类的成员
使用 对象名[‘成员名’] 访问 Groovy 类的成员 , 相当于调用类的 getAt 方法 , 该方法的函数原型如下 :
public static Object getAt(Object self, String property)
return InvokerHelper.getProperty(self, property);
代码示例 :
student['name'] = "CSDN"
student['age'] = 9
println student['name']
println student['age']
执行结果 :
CSDN
9
四、完整代码示例
完整代码示例 :
class Student
def name
def age
def student = new Student()
student.setName("Tom")
student.setAge(18)
println student.getName()
println student.getAge()
student.name = "Jerry"
student.age = 16
println student.name
println student.age
student.'name' = "Han"
student.'age' = 32
println student.'name'
println student.'age'
student['name'] = "CSDN"
student['age'] = 9
println student['name']
println student['age']
println student.getAt("age")
执行结果 :
Tom
18
Jerry
16
Han
32
CSDN
9
9