前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >【Groovy】Groovy 方法调用 ( 使用 对象名.成员名 访问 Groovy 类的成员 | 使用 对象名.‘成员名‘ 访问类的成员 | 使用 对象名[‘成员名‘] 访问类成员 )

【Groovy】Groovy 方法调用 ( 使用 对象名.成员名 访问 Groovy 类的成员 | 使用 对象名.‘成员名‘ 访问类的成员 | 使用 对象名[‘成员名‘] 访问类成员 )

作者头像
韩曙亮
发布于 2023-03-30 02:20:42
发布于 2023-03-30 02:20:42
2.4K00
代码可运行
举报
运行总次数:0
代码可运行

文章目录

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


对 对象名.成员名 赋值 , 相当于执行 setter 方法 ;

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
/**
 * 创建 Groovy 类
 * 在其中定义 2 个成员
 */
class Student {
    def name
    def age
}

// 实例化 Student 类
def student = new Student()

// 对 对象名.成员名 赋值 , 相当于执行 setter 方法
student.name = "Jerry"
student.age = 16

使用 对象名.成员名 访问成员 , 相当于执行 getter 方法 ;

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
// 使用 对象名.成员名 访问成员 , 相当于执行 getter 方法
println student.name
println student.age

执行结果 :

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Jerry
16

二、使用 对象名.‘成员名’ 访问 Groovy 类的成员


可以使用 对象名.‘成员名’ 访问 Groovy 类的成员 , 这样写的好处是 , 不用将代码写死 , 在运行时可以自由灵活的决定要访问哪个成员 ;

如 : 从配置文件中获取要访问哪个成员 , 或者从服务器端获取要访问的成员 ;

Java 中如果要根据字符串决定要访问哪个成员 , 只能通过反射进行访问 ;

代码示例 :

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
/**
 * 创建 Groovy 类
 * 在其中定义 2 个成员
 */
class Student {
    def name
    def age
}

// 实例化 Student 类
def student = new Student()

// 对 对象名.'成员名' 赋值 , 相当于执行 setter 方法
student.'name' = "Han"
student.'age' = 32

// 使用 对象名.'成员名' 访问成员 , 相当于执行 getter 方法
println student.'name'
println student.'age'

执行结果 :

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Han
32

三、使用 对象名[‘成员名’] 访问 Groovy 类的成员


使用 对象名[‘成员名’] 访问 Groovy 类的成员 , 相当于调用类的 getAt 方法 , 该方法的函数原型如下 :

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
    /**
     * 允许使用下标运算符查找动态属性值
     * <code>bean[somePropertyNameExpression]</code>。
     * groovy的常规属性表示法更简洁,
     * 但只适用于编译时已知的属性名。
     *
     * @param self     访问的对象
     * @param property 访问的属性名称
     * @return 返回属性值
     * @since 1.0
     */
    public static Object getAt(Object self, String property) {
        return InvokerHelper.getProperty(self, property);
    }

代码示例 :

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
// 对 对象名['成员名'] 赋值 , 相当于执行 setter 方法
student['name'] = "CSDN"
student['age'] = 9

// 使用 对象名['成员名'] 访问成员 , 相当于执行 getter 方法
println student['name']
println student['age']

执行结果 :

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
CSDN
9

四、完整代码示例


完整代码示例 :

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
/**
 * 创建 Groovy 类
 * 在其中定义 2 个成员
 */
class Student {
    def name
    def age
}

// 实例化 Student 类
def student = new Student()

// 使用 setter 方法设置成员变量
student.setName("Tom")
student.setAge(18)

// 使用 getter 方法获取成员值
println student.getName()
println student.getAge()


// 对 对象名.成员名 赋值 , 相当于执行 setter 方法
student.name = "Jerry"
student.age = 16

// 使用 对象名.成员名 访问成员 , 相当于执行 getter 方法
println student.name
println student.age


// 对 对象名.'成员名' 赋值 , 相当于执行 setter 方法
student.'name' = "Han"
student.'age' = 32

// 使用 对象名.'成员名' 访问成员 , 相当于执行 getter 方法
println student.'name'
println student.'age'


// 对 对象名['成员名'] 赋值 , 相当于执行 setter 方法
student['name'] = "CSDN"
student['age'] = 9

// 使用 对象名['成员名'] 访问成员 , 相当于执行 getter 方法
println student['name']
println student['age']
println student.getAt("age")

执行结果 :

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Tom
18
Jerry
16
Han
32
CSDN
9
9
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-01-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
事务、视图、锁表
事务(TRANSACTION)是作为单个逻辑工作单元执行的一系列操作 多个操作作为一个整体向系统提交,要么都执行、要么都不执行 事务是一个不可分割的工作逻辑单元
用户9979303
2022/10/28
6520
MySql事务、索引和备份
事务就是将一组SQL语句放在同一批次内去执行,只要一个SQL语句出错,则该批次内的所有SQL都将被取消执行。
用户10175992
2022/11/15
5130
MySql事务、索引和备份
MySQL的事务概念
我们规定了,做一件事情,只有成功和失败! 用个很经典的例子举例: 银行转账,A向B转账十万,能不能发生一遍付钱一边没收钱的情况? 现实中一定是A和B同时成功或者失败,不能出现一边成功另一边失败的情景,这就是事务的简单例子。
向着百万年薪努力的小赵
2022/12/02
5830
transaction (2)—mysql进阶(五十八)
上篇文章说了acid四个事务的特性,原子性保证要不两个sql一起执行,要么不执行,隔离性,两个事务之间必须互不干扰,一致性,两边的数据必须保持一致,可以说一致性的前提是原子性和隔离性必须正常,但原子性和隔离性都正常,就能保证一致性吗?并不是,还必须满足其他一些约束,比如金额不能为负数。持久性就是必须持久化到磁盘才算事务成功。
用户9919783
2022/07/29
3730
【数据库】MySQL:ACID特性、隔离级别及实战操作
MySQL 中的事务是数据库管理系统中用来确保多个 SQL 操作以原子性的方式执行的机制。事务可以保证一系列操作要么全部成功,要么全部失败,从而保证数据库的一致性和完整性。
易辰君
2024/11/07
2310
浅谈 SQL Server 查询优化与事务处理
之前我们简单了解了各种查询的用法,然而在实际开发中还会用到一些比较高级的数据处理和查询,包括索引、视图、存储过程和触发器。从而能够更好地实现对数据库的操作、诊断及优化。
小手冰凉
2019/09/10
2K0
浅谈 SQL Server 查询优化与事务处理
MySQL 事务和 MVCC 机制
了解事务之前,先来看看数据库为什么需要有事务,假设没有事务会有什么影响?假设我们有一个银行账户系统,表结构如下:
Se7en258
2021/07/01
5000
MySQL--事务
mysql默认自动事务提交,事务面对增,删,改操作时的一种控制手段,当面对一次操作多条记录,或都多个连接同时操作一条记录时的统一性管理手段,控制的是,增,删,改操作是否有效
用户10787181
2023/10/28
2120
MySQL--事务
循序渐进 MySQL 事务隔离级别
事务简言之就是一组 SQL 执行要么全部成功,要么全部失败。MYSQL 的事务在存储引擎层实现。
波罗学
2019/07/31
4850
MySQL基础之事务编程学习笔记
在学习《MySQL技术内幕:SQL编程》一书,并做了笔记。本博客内容是自己学了《MySQL技术内幕:SQL编程》事务编程一章之后,根据自己的理解做的笔记,内容和书本并不一致,不过书本实验都经过自己验证,基于MySQL5.7版本。做笔记的目的是方便自己复习,同时分享出来或许对其他人或许有点帮助
SmileNicky
2020/01/13
4700
MySQL基础之事务编程学习笔记
一文精通MySQL事务规则
引言:每个程序员学习数据库离不开MySQL,而学习MySQL就必学事务,今天我们就来一起学习一下MySQL的事务;
框架师
2020/03/31
7860
一文精通MySQL事务规则
MySQL 事务
  事务(Transaction),一般是指要做的或所做的事情。在计算机术语中是指访问并可能更新数据库中各种数据项的一个程序执行单元(unit)。事务通常由高级数据库操纵语言或编程语言(如 SQL,C++ 或 Java)书写的用户程序的执行所引起,并用形如 begin transaction 和 end transaction 语句或函数调用来界定。事务由事务开始(begin transaction)和事务结束(end transaction)之间执行的全体操作组成。在 MySQL 中只有使用了 Innodb 数据库引擎的数据库或表才支持事务。事务处理可以用来维护数据库的完整性,保证成批的 SQL 语句要么全部执行,要么全部不执行。一般用来管理 insert,update,delete 语句。
Demo_Null
2020/09/28
2.1K0
MySQL 事务
数据库MySQL-事务
原子性(Atomicity):事务是一个完整的操作。事务的各步操作是不可分的(原子的);要么都执行,要么都不执行
cwl_java
2020/03/27
1K0
05 基础的数据操作
以上4 种操作又简称为 CURD (Create ,Update ,Retrieve ,Delete )
用户9184480
2024/12/13
880
数据库事务
如果在执行一个业务操作的时候,需要执行多条SQL语句,必须保证所有的SQL语句都执行成功。只要其中有一条执行失败,则所有的SQL语句都要进行回滚
Devops海洋的渔夫
2021/03/12
7210
数据库事务
8-TCL事务控制语言
一个或一组sql语句组成的一个执行单元,这个执行单元要么全部执行,要么全部不执行。每条sql语句都是相互依赖的 整个单元作为一个不可分割的整体,如果单元中某条sql语句执行失败或者产生错误,则整个单元将会回滚。所有收到影响 的数据将会返回到事务开始以前的状态。如果单元内所有语句均正常执行,则事务被成功执行
Ywrby
2022/10/27
7090
走向面试之数据库基础:三、SQL进阶之变量、事务、存储过程与触发器
  SELECT 以表格的方式输出,可以同时输出多个变量;而PRINT 则是以文本的方式输出,一次只能输出一个变量的值。
Edison Zhou
2018/08/20
1.3K0
走向面试之数据库基础:三、SQL进阶之变量、事务、存储过程与触发器
第13章_事务基础知识
🧑个人简介:大家好,我是 shark-Gao,一个想要与大家共同进步的男人😉😉
程序员Leo
2023/08/02
2180
第13章_事务基础知识
【愚公系列】2022年01月 Mysql数据库-事务
文章目录 一、MySQL事务 1.事务的概念 2.事务的数据准备 3.未管理事务演示 4.管理事务演示 5.事务的提交方式 6.事务的四大特征(ACID) 7.事务的隔离级别 8.事务隔离级别演示 9.隔离级别总结 10.事务的总结 一、MySQL事务 1.事务的概念 一条或多条 SQL 语句组成一个执行单元,其特点是这个单元要么同时成功要么同时失败,单元中的每条 SQL 语句都相互依赖,形成一个整体,如果某条 SQL 语句执行失败或者出现错误,那么整个单元就会回滚,撤回到事务最初的状态,如果单元中所有的
愚公搬代码
2022/01/28
3630
MySQL数据库——事务的操作(开启、回滚、提交)、特征、隔离级别基础总结
如果一个包含多个步骤的业务操作,被事务管理,那么这些操作要么同时成功,要么同时失败。如下A给B转钱的例子很形象的说明了事务的概念:
Winter_world
2020/09/25
20.9K0
MySQL数据库——事务的操作(开启、回滚、提交)、特征、隔离级别基础总结
相关推荐
事务、视图、锁表
更多 >
LV.1
这个人很懒,什么都没有留下~
目录
  • 文章目录
  • 一、使用 对象名.成员名 访问 Groovy 类的成员
  • 二、使用 对象名.‘成员名’ 访问 Groovy 类的成员
  • 三、使用 对象名[‘成员名’] 访问 Groovy 类的成员
  • 四、完整代码示例
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文