【Groovy】Groovy 方法调用 ( 使用 对象名.@成员名 访问 Groovy 对象成员 )

简介: 【Groovy】Groovy 方法调用 ( 使用 对象名.@成员名 访问 Groovy 对象成员 )

文章目录

一、使用 对象名.@成员名 访问 Groovy 对象成员

二、完整代码示例





一、使用 对象名.@成员名 访问 Groovy 对象成员


针对 Groovy 中的类 ,


class Student {
    def name
    def age
}


创建 Student 对象 , 如果使用 对象名.成员名 访问该对象中的成员 , 其本质上是调用 Student 对象的 getter 和 setter 方法 ;


// 实例化 Student 类
def student = new Student()
// 对 对象名.成员名 赋值 , 相当于执行 setter 方法
student.name = "Jerry"
student.age = 16
// 使用 对象名.成员名 访问成员 , 相当于执行 getter 方法
println student.name
println student.age


如果不想调用 getter 和 setter 方法 , 可以使用 对象名.@成员名 的格式 , 访问对象的成员变量 ;


// 使用 对象名.@成员名 访问对象成员
student.@name = "Jim"
student.@age = 58
println student.@name
println student.@age


打印结果为 :


Jim
58




二、完整代码示例


完整代码示例 :


/**
 * 创建 Groovy 类
 * 在其中定义 2 个成员
 */
class Student {
    def name
    def age
}
// 实例化 Student 类
def student = new Student()
// I. 使用 getter 和 setter 方法访问成员
// 使用 setter 方法设置成员变量
student.setName("Tom")
student.setAge(18)
// 使用 getter 方法获取成员值
println student.getName()
println student.getAge()
// II. 使用 对象名.成员名 访问对象成员
// 对 对象名.成员名 赋值 , 相当于执行 setter 方法
student.name = "Jerry"
student.age = 16
// 使用 对象名.成员名 访问成员 , 相当于执行 getter 方法
println student.name
println student.age
// III. 使用 对象名.'成员名' 访问对象成员
// 对 对象名.'成员名' 赋值 , 相当于执行 setter 方法
student.'name' = "Han"
student.'age' = 32
// 使用 对象名.'成员名' 访问成员 , 相当于执行 getter 方法
println student.'name'
println student.'age'
// IV. 使用 对象名['成员名'] 访问对象成员
// 对 对象名['成员名'] 赋值 , 相当于执行 setter 方法
student['name'] = "CSDN"
student['age'] = 9
// 使用 对象名['成员名'] 访问成员 , 相当于执行 getter 方法
println student['name']
println student['age']
println student.getAt("age")
// V. 使用 字符串变量 访问对象成员
// 定义字符串变量
def field = "name"
// 通过字符串变量访问 对象成员
println student."${field}"
// VI. 使用 对象名.@成员名 访问对象成员
// 使用 对象名.@成员名 访问对象成员
student.@name = "Jim"
student.@age = 58
println student.@name
println student.@age


执行结果 :


Tom
18
Jerry
16
Han
32
CSDN
9
9
CSDN
Jim
58


image.png

目录
相关文章
|
编解码 人工智能 API
通义万相2.1视频/图像模型新升级!可在阿里云百炼直接体验
通义万相2.1模型推出新特征,包括复杂人物运动的稳定展现、现实物理规律的逼真还原及中英文视频特效的绚丽呈现。通过自研的高效VAE和DiT架构,增强时空上下文建模能力,支持无限长1080P视频的高效编解码,并首次实现中文文字视频生成功能。升级后的通义万相荣登VBench榜单第一,提供电影级分镜效果、四格漫画故事速览及情侣头像创意定制等多种玩法,满足多样化的视觉创作需求。可直接在阿里云百炼平台调用API体验这些功能。
4262 0
|
10月前
|
机器学习/深度学习 人工智能 自然语言处理
《揭开DeepSeek神秘面纱:复杂逻辑推理背后的技术机制》
DeepSeek是一款基于Transformer架构的大语言模型,以其在复杂逻辑推理任务上的卓越表现成为行业焦点。它通过自注意力机制高效捕捉长距离依赖关系,结合强化学习优化推理策略,利用思维链技术拆解复杂问题,并经过多阶段训练与精调提升推理能力。此外,DeepSeek融合知识图谱和外部知识,拓宽推理边界,使其在处理专业领域问题时更加准确和全面。这些先进技术使DeepSeek能够像人类一样思考和推理,为解决复杂问题提供强大支持。
810 11
|
11月前
|
人工智能 编解码
通义万相2.1:VBench榜单荣登第一!阿里通义万相最新视频生成模型,支持生成1080P长视频
万相2.1是阿里通义万相最新推出的视频生成模型,支持1080P无限长视频生成,具备复杂动作展现、物理规律还原、艺术风格转换等功能。
2214 27
通义万相2.1:VBench榜单荣登第一!阿里通义万相最新视频生成模型,支持生成1080P长视频
|
10月前
|
数据采集 编解码 缓存
通义万相Wan2.1视频模型开源!视频生成模型新标杆,支持中文字效+高质量视频生成
2025年1月,阿里通义万相Wan2.1模型登顶Vbench榜首第一,超越Sora、HunyuanVideo、Minimax、Luma、Gen3、Pika等国内外视频生成模型。而在今天,万相Wan2.1视频生成大模型正式开源!
5162 8
|
机器学习/深度学习 人工智能 自然语言处理
LTX Video:Lightricks推出的开源AI视频生成模型
LTX Video是由Lightricks推出的开源AI视频生成模型,能够在4秒内生成5秒的高质量视频。该模型基于2亿参数的DiT架构,确保帧间平滑运动和结构一致性,支持长视频制作,适用于多种场景,如游戏图形升级和电子商务广告变体制作。
888 1
LTX Video:Lightricks推出的开源AI视频生成模型
|
并行计算 PyTorch Linux
大概率(5重方法)解决RuntimeError: CUDA out of memory. Tried to allocate ... MiB
大概率(5重方法)解决RuntimeError: CUDA out of memory. Tried to allocate ... MiB
9891 0
|
JavaScript 前端开发
TypeScript 学习笔记(六):TypeScript 与前端框架的结合应用
笔记,进一步提升 TypeScript 编程技能。
365 1
|
存储 关系型数据库 MySQL
阿里云免费企业邮箱申请入口链接(2023新版申请流程)
阿里云免费企业邮箱申请入口链接(2023新版申请流程)阿里云免费企业邮箱没有了吗?免费企业邮箱在哪申请?每个阿里云账号可以申请一个免费企业邮箱。最近有同学反馈企业邮箱申请不了了,阿里云百科查看下,确实原免费版企业邮箱申请链接,打开后,会跳转到付费版企业邮箱页面。阿里云百科特意咨询了客服,得到回复是目前阿里云依旧提供免费版企业邮箱。阿里云百科分享阿里云免费版企业邮箱申请链接:
16794 4
阿里云免费企业邮箱申请入口链接(2023新版申请流程)
|
人工智能 自然语言处理 测试技术
Meet Llama3.1,405B赶超最强闭源模型!上魔搭社区一站体验、下载、推理、微调、部署
官方公布的Benchmark显示,Llama3.1 405B已在多项基准测试中超越GPT-4o和Claude 3.5 Sonnet,这是开源大模型首次赶超最强闭源模型!