使用最简单的术语,a variable(变量): 变量名引用的值关联着物理内存的某个位置。和Java一样,Groovy拥有 local variables(本地变量),fields(字段):local variables他们的范围定义为方法的一部分存在。fields的存在范围为类或者对象中。Fields and local variables有太多相同的声明方式,所以同时讲解他们。
- Fields and local variables 使用前必须被声明 。
- 声明包括:指定变量名, 可选的类型声明和 修饰符,分配初始值.
- 一旦被定义,变量将通过变量名来引用。
- Groovy 使用Java’的修饰符— private, protected, public ,final(不允许在分配值),static(为类变量),这些修饰符和Java中的意思相同。
- 非静态变量被看到对象变量。
- 在Groovy中, fields 默认的修饰符有着特别的意义(在GroovyBeans中讲解)。
- 变量类型的定义是可选的:但是假如你没有给出类型定义和修饰符定义,你必须使用def来定义变量,来说明此变量为未知类型(哈哈,希望大家能有点思维能力,其实外国人的东西都是套公式的东西,灵活运用在于你的思维能力了。前面说过Groovy一切都是对象,你用def关键字定义的变量,实际是默认值为Object)
- 下面给出一些示例:
class SomeClass {
public fieldWithModifier
String typedField
def untypedField
protected field1, field2, field3
private assignedField = new Date()
static classField
public static final String CONSTA = 'a', CONSTB = 'b'
def someMethod(){
def localUntypedMethodVar = 1
int localTypedMethodVar = 1
def localVarWithoutAssignment, andAnotherOne
}
}
def localvar = 1
boundvar1 = 1
def someMethod(){
localMethodVar = 1
boundvar2 = 1
}
- 注意,这里有个规则:在Groovy中,比如你给一个动态类型分配了number类型的值,就不能再用String的类型了 ,反之亦然(在后面的章节会说明原因)。
- Referencing and dereferencing fields
- 在Groovy中你可以通过obj.fieldName来引用变量,同时他提供了额外的能力,你可以使用下标运算符来引用,示例:
class Counter {
public count = 0
}
def counter = new Counter()
counter.count = 1
assert counter.count == 1
def fieldName = 'count'
counter[fieldName] = 2
assert counter['count'] == 2
分享到:
相关推荐
赠送jar包:groovy-all-2.4.5.jar; 赠送原API文档:groovy-all-2.4.5-javadoc.jar; 赠送源代码:groovy-all-2.4.5-sources.jar; 赠送Maven依赖信息文件:groovy-all-2.4.5.pom; 包含翻译后的API文档:groovy-all...
赠送jar包:groovy-all-2.4.13.jar; 赠送原API文档:groovy-all-2.4.13-javadoc.jar; 赠送源代码:groovy-all-2.4.13-sources.jar; 赠送Maven依赖信息文件:groovy-all-2.4.13.pom; 包含翻译后的API文档:groovy...
赠送jar包:groovy-all-2.4.5.jar; 赠送原API文档:groovy-all-2.4.5-javadoc.jar; 赠送源代码:groovy-all-2.4.5-sources.jar; 赠送Maven依赖信息文件:groovy-all-2.4.5.pom; 包含翻译后的API文档:groovy-all...
赠送jar包:groovy-3.0.9.jar; 赠送原API文档:groovy-3.0.9-javadoc.jar; 赠送源代码:groovy-3.0.9-sources.jar; 赠送Maven依赖信息文件:groovy-3.0.9.pom; 包含翻译后的API文档:groovy-3.0.9-javadoc-API...
标题“groovy-all”暗示这是一个包含Groovy完整实现的库,通常这样的库会包括Groovy的运行时环境和所有相关的类库。版本号“2.4.7”表明这是Groovy 2.4系列的一个稳定版本,发布于2016年,该版本可能包含了自2.4.0...
在SDK中,"groovy-2.5.0-beta-2"目录下通常会包含以下关键组件: 1. **bin** 目录:包含可执行脚本,如`groovy`, `groovyc`, `groovysh`等,这些是Groovy的命令行工具,用于运行Groovy脚本、编译Groovy源码和启动...
赠送jar包:groovy-2.5.1.jar; 赠送原API文档:groovy-2.5.1-javadoc.jar; 赠送源代码:groovy-2.5.1-sources.jar; 赠送Maven依赖信息文件:groovy-2.5.1.pom; 包含翻译后的API文档:groovy-2.5.1-javadoc-API...
groovy-grails-tool-suite-3.6.4.RELEASE-e4.4.2-win32-x86_64.part2 共两个包,解压后需要将扩展名.zip.bak改名为.zip重新解压。 http://dist.springsource.com/release/STS/3.8.1.RELEASE/dist/ e4.6/spring-tool-...
1. **groovy-all.jar**:这是一个包含了Groovy库所有模块的集合,你可以通过引入这个单一的jar文件来快速地在项目中使用Groovy。 2. **bin**目录:包含了一系列可执行脚本,如`groovy`, `groovyc`, 和 `groovysh`,...
赠送jar包:groovy-3.0.9.jar; 赠送原API文档:groovy-3.0.9-javadoc.jar; 赠送源代码:groovy-3.0.9-sources.jar; 赠送Maven依赖信息文件:groovy-3.0.9.pom; 包含翻译后的API文档:groovy-3.0.9-javadoc-API...
Groovy-2.4.0-beta-1.zip 是一个压缩包,其中包含了Groovy编程语言的一个特定版本,即2.4.0的测试版1。Groovy是一种动态、灵活的面向对象的脚本语言,它运行在Java平台上,并且与Java紧密集成。Groovy提供了简洁的...
总的来说,"groovy-xml-2.2.0-beta-1.zip" 和 "bb4-common.zip" 提供了两个不同但互补的工具集,前者专注于XML处理,后者提供了一套通用的Java和Scala代码库。这两个资源对于需要在Groovy环境中处理XML,同时利用...
groovy-grails-tool-suite-3.6.4.RELEASE-e4.4.2-win32-x86_64.part1 共两个压缩包,解压后将扩展名.zip.bak改为.zip再次解压。
groovy-2.0.8-with-eclipse-plugin-2.7.2.part3
6. **jar文件**:如`groovy-4.0.3.jar`等,这些是SDK的核心库,包含Groovy运行时所需的类和接口。 7. **依赖库**:Groovy可能依赖于其他Java库,如Ant、JUnit等,这些依赖项通常也会包含在SDK中。 使用Groovy SDK...
标题 "groovy-console-2.2.0-rc-3.zip" 暗示这是一个Groovy Console的特定版本,Groovy是一种基于Java平台的动态编程语言,它扩展了Java的语法,提供了简洁、灵活和富有表现力的特性,使得编写脚本和应用程序更加...
groovy-2.0.8-with-eclipse-plugin-2.7.2.part1
groovy-2.0.8-with-eclipse-plugin-2.7.2.part2
在压缩包中的`Groovy-in-Action-source-code`,你将看到书中各个章节对应的代码实例,这些实例涵盖了Groovy的基础到高级特性,包括类、对象、集合操作、文件I/O、网络编程、XML和JSON处理、元编程等。通过研究这些...