`
gaojingsong
  • 浏览: 1182648 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

Groovy 基本介绍

阅读更多

一、Groovy 官方介绍

A multi-faceted language for the Java platform

Apache Groovy is a powerful, optionally typed and dynamic language, with static-typing and static compilation capabilities, for the Java platform aimed at improving developer productivity thanks to a concise, familiar and easy to learn syntax. It integrates smoothly with any Java program, and immediately delivers to your application powerful features, including scripting capabilities, Domain-Specific Language authoring, runtime and compile-time meta-programming and functional programming.



 

Groovy是一种基于JVM(Java虚拟机)的敏捷开发语言,它结合了Python、Ruby和Smalltalk的许多强大的特性,Groovy 代码能够与 Java 代码很好地结合,也能用于扩展现有代码。由于其运行在 JVM 上的特性,Groovy 可以使用其他 Java 语言编写的库。

Groovy 是 用于Java虚拟机的一种敏捷的动态语言,它是一种成熟的面向对象编程语言,既可以用于面向对象编程,又可以用作纯粹的脚本语言。使用该种语言不必编写过多的代码,同时又具有闭包和动态语言中的其他特性。

Groovy是JVM的一个替代语言(替代是指可以用 Groovy 在Java平台上进行 Java 编程),使用方式基本与使用 Java代码的方式相同,该语言特别适合与Spring的动态语言支持一起使用,设计时充分考虑了Java集成,这使 Groovy 与 Java 代码的互操作很容易。(注意:不是指Groovy替代java,而是指Groovy和java很好的结合编程

 

 

 

二、Groovy基本特点

1、 构建在强大的Java语言之上 并 添加了从Python,Ruby和Smalltalk等语言中学到的 诸多特征,例如动态类型转换、闭包和元编程(metaprogramming)支持。。

2、为Java开发者提供了 现代最流行的编程语言特性,而且学习成本很低(几乎为零)。

3、 支持DSL(Domain Specific Languages领域定义语言)和其它简洁的语法,让代码变得易于阅读和维护。

4、受检查类型异常(Checked Exception)也可以不用捕获。

5、 Groovy拥有处理原生类型,面向对象以及一个Ant DSL,使得创建Shell Scripts变得非常简单。

6、在开发Web,GUI,数据库或控制台程序时 通过 减少框架性代码 大大提高了开发者的效率。

7、支持单元测试和模拟(对象),可以 简化测试。

8、无缝集成 所有已经存在的 Java对象和类库。

9、直接编译成Java字节码,这样可以在任何使用Java的地方 使用Groovy。[2] 

10、支持函数式编程,不需要main函数。

11、一些新的运算符。

12、默认导入常用的包。

13、断言不支持jvm的-ea参数进行开关。

14、支持对对象进行布尔求值。

15、类不支持default作用域,且默认作用域为public。

16、groovy中基本类型也是对象,可以直接调用对象的方法。

动态类型

类型对于变量,属性,方法,闭包的参数以及方法的返回类型都是可有可无的,都是在给变量赋值的时候才决定它的类型, 不同的类型会在后面用到,任何类型都可以被使用,即使是基本类型 (通过自动包装(autoboxing)). 当需要时,很多类型之间的转换都会自动发生,比如在这些类型之间的转换: 字符串(String),基本类型(如int) 和类型的包装类 (如Integer)之间,可以把不同的基本类型添加到同一数组(collections)中。

闭包

闭包就是可以使用参数的代码片段,每个闭包会被编译成继承groovy.lang.Closure类的类,这个类有一个叫call方法,通过该方法可以传递参数并调用这个闭包.它们可以访问并修改在闭包创建的范围内的变量,在闭包内创建的变量在闭包被调用的范围内同样可以被引用, 闭包可以保存在变量中并被作为参数传递到方法中。

 

 

 

 

二、Groovy类 VS JAVA类

Groovy类和java类一样,完全可以用标准java bean的语法定义一个Groovy类。但作为另一种语言,可以使用更Groovy的方式定义类,这样的好处是,可以少写一半以上的javabean代码。

(1)不需public修饰符

如前面所言,Groovy的默认访问修饰符就是public,如果Groovy类成员需要public修饰,则根本不用写它。

(2)不需要类型说明

同样前面也说过,Groovy也不关心变量和方法参数的具体类型。

(3)不需要getter/setter方法

在很多ide(如eclipse)早就可以为程序员自动产生getter/setter方法了,在Groovy中,不需要getter/setter方法--所有类成员(如果是默认的public)根本不用通过getter/setter方法引用它们(当然,如果一定要通过getter/setter方法访问成员属性,Groovy也提供了它们)。

(4)不需要构造函数

不再需要程序员声明任何构造函数,因为实际上只需要两个构造函数(1个不带参数的默认构造函数,1个只带一个map参数的构造函数--由于是map类型,通过这个参数可以构造对象时任意初始化它的成员变量)。

(5)不需要return

Groovy中,方法不需要return来返回值。

(6)不需要()

Groovy中方法调用可以省略()(构造函数除外)。

  • 大小: 36.1 KB
0
0
分享到:
评论

相关推荐

    groovy基础语法.pdf

    在Groovy中,基本语法包括变量、属性、方法和闭包的定义,控制结构如if-else、for循环、while循环、switch语句,以及类和对象的操作等。 变量和数据类型: Groovy是动态类型语言,变量无需声明类型即可直接赋值使用...

    eclipse安装groovy插件的步骤

    通过上述步骤,您已经完成了在 Eclipse 中安装 Groovy 插件的过程,并学会了如何使用 Groovy 进行基本的编程操作。Groovy 是一种灵活且功能强大的脚本语言,非常适合用于自动化任务、单元测试以及快速应用开发等领域...

    groovy速查手册

    ### Groovy速查手册知识点详解 #### 一、Groovy简介与特性 Groovy是一种为Java虚拟机(JVM)设计的动态语言。...通过上述介绍,我们了解了Groovy的一些基本特性和使用方法,这对于初学者来说是非常有用的指南。

    Groovy介绍-入门

    Groovy的基本语法简洁明了。例如,打印"Hello, World!"可以在一行内完成,无需使用分号来结束语句。变量声明也很直观,如`def name = ‘Guillaume’`。字符串可以通过双引号或单引号定义,且支持字符串插值,如`...

    groovy+in+action

    《Groovy in Action》是一本详尽介绍Groovy编程语言的书籍,由Dierk König撰写,并得到了Andrew Glover、Paul King、Guillaume Laforge以及Jon Skeet等多位Groovy专家的支持与贡献。本书不仅适合Groovy初学者作为...

    Groovy and Grails Recipes(清晰PDF)

    - **介绍**: 本章主要介绍了如何开始使用Groovy编程语言。对于初次接触Groovy的新手来说,这是一个很好的起点。 - **核心知识点**: - 安装Groovy环境 - Groovy脚本的基本语法 - 如何运行Groovy脚本 - Groovy与...

    Groovy学习笔记

    #### 五、Groovy工具介绍 - **Groovy**: 运行Groovy脚本文件。 - **Groovyc**: 编译Groovy脚本到Java字节码。 - **Groovysh**: 命令行界面,支持即时执行Groovy命令。 - **GroovyConsole**: GUI控制台,提供简单的...

    Groovy Script 入门

    #### 三、Groovy脚本的基本使用 ##### 3.1 安装与配置 1. **安装Java环境**:Groovy依赖于Java运行环境,确保已经安装了Java SE Development Kit (JDK)。 2. **下载Groovy**:访问Groovy官方网站...

    groovy in action 中文版 2017.11

    在Groovy语言的基础部分,首先介绍了Groovy的代码外观和与Java语法的对比。Groovy代码更倾向于简洁和优雅,它用更少的代码实现了相同的功能,这归功于Groovy提供的丰富语法结构和内建功能。Groovy的断言功能也被提及...

    Groovy&Grails准备,收集的Groovy与Grails的书籍

    6. ** scaffolding**:Grails的自动生成功能,可以根据数据模型快速创建基本的CRUD操作和界面,加速开发进程。 7. **自动化构建**:Grails使用Gradle作为构建工具,提供简洁的命令行接口,实现项目的构建、测试和...

    groovy programming(2006.12).pdf

    书中详细介绍了Groovy的基础语法,包括变量声明、类型推断、控制结构(如if语句、while循环)、数组和集合等基本概念。通过对比Java,Groovy提供了更为简洁的语法,例如闭包(closures)的使用,使得代码更加优雅和...

    groovy 1.7官方教程

    - **简单示例**:“Hello World”脚本展示了Groovy的基本语法: ```groovy def name = 'World' println "Hello $name!" ``` - **面向对象示例**:通过创建类`Greet`来实现更复杂的“Hello World”示例,体现了...

    Groovy and Grails Recipes.pdf

    通过上述分析,可以看出《Groovy and Grails Recipes》这本书主要介绍了如何使用Groovy语言和Grails框架进行高效、灵活的Web应用开发。无论是对于初学者还是有经验的开发者来说,都能从中获得实用的技术知识和实战...

    groovy

    在描述中提到的链接指向了一篇博客,虽然具体内容未提供,但通常这类资源会介绍Groovy的基础知识、使用场景或特定的编程技巧。根据“源码”和“工具”的标签,我们可以推测这篇博客可能涉及到Groovy的源码解析或者与...

    Programming Groovy 2

    1. **Groovy基础知识**:介绍Groovy的基本语法、数据类型、控制结构等基础知识。 2. **面向对象编程**:深入探讨Groovy的面向对象编程特性,包括类、接口、继承、多态等内容。 3. **元编程**:介绍Groovy的元编程...

    Groovy.in.Action.2nd.Edition.pdf

    2. Groovy的基本特性:Groovy提供了广泛的特性,例如: - GStrings和多行正则表达式,大大简化了字符串操作和正则表达式处理。 - Elvis操作符(?:),提供了一个简洁的方式来处理可能为null的表达式。 - 安全的属性...

Global site tag (gtag.js) - Google Analytics