`

Groovy 简介

 
阅读更多

Groovy

 

Groovy 是基于Java的动态语言,完全兼容Java语法,Grails 是基于Groovy的开发框架。简单说就是,Groovy是语言,Grails是框架。

 

Groovy - 简介

 

Groovy是运行在Java平台上的、具有像Python, Ruby 和 Smalltalk 语言特性的灵活动态语言。可以认Groovy是基于Java语言而又扩展了Java语言。除了语言和Java相通外,Groovy有时候又像一种脚本语言。当我执行Groovy脚本时,Groovy会先将其编译成Java类字节码,然后通过Jvm来执行这个Java类。下图展示了JavaGroovyJvm之间的关系。



 

实际上,由于Groovy Code在真正执行的时候已经变成了Java字节码,所以JVM根本不知道自己运行的是Groovy代码。

 

从学习的角度看,如果知道如何编写 Java 代码,那就已经了解 Groovy 了。Java程序员可以无缝切换到使用Groovy开发程序。Groovy 和 Java 语言的主要区别是:完成同样的任务所需的 Groovy 代码比 Java 代码更少。

 

Groovy - 特性

 

开始使用 Groovy ,你会发现它使日常的编程活动变得快了许多

1Groovy 的松散的 Java 语法允许省略分号和修改符。

2Groovy 的所有内容都为 public,除非另行指定

3Groovy 允许定义简单脚本,同时无需定义正规的 class 对象。

4Groovy 在普通的常用 Java 对象上增加了一些独特的方法和快捷方式,使得它们更容易使用。

5Groovy 语法还允许省略变量类型。

 

Groovy - 新增特性

 

虽然 Groovy 允许省略 Java 语法中的一些元素,但也增加了一些新特性,例如本地集合、内置的正则表达式和闭包。在标准的 Java 代码中,如果想要创建一个项列表,首先要导入 java.util.ArrayList,然后程序化地初始化 ArrayList 实例,然后 再向实例中添加项。在 Groovy 中,列表和映射都内置在语法中 — 无需导入任何内容。正则表达式也不需要额外的导入或对象;它们可以通过特殊的 Groovy 语法来创建。

 

Groovy - 闭包

 

对于任何 Java 开发人员来说,闭包都是一个令人兴奋的新技巧。这些神奇的构造将会包含在未来的 Java 发行版(很可能是 Java 7)中,成为正式的 Java 语法,但现在已经可以在 Groovy 中使用了。可以将闭包 想像为一个代码块,可以现在定义,以后再执行。可以使用这些强大的构造做许多漂亮的事,不过最著名的是简化迭代。使用 Groovy 之后,就有可能再也不需要编写 Iterator 实例了。

 

Groovy - 动态

 

从技术上讲,Groovy 可能是您最近听说过的类型最松散的动态语言之一。从这个角度讲,Groovy Java 语言的区别很大,Java 语言是一种固定类型语言。在 Groovy 中,类型是可选的,所以您不必输入 String myStr = "Hello"; 来声明 String 变量。

除此之外,Groovy 代码还能在运行时轻松地改变自己。这实际上意味着,能够在运行时轻松地为对象指定新方法和属性。这一编程领域称为元编程,Groovy 能够很好地支持这种编程方式。在学习本教程的过程中,您将了解到关于 Groovy 的动态性质的更多内容。现在惟一要补充的是,您会惊讶地发现,在 Groovy 会使操作 XML 或普通的 java.io.File 实例变得非常轻松。

 

Groovy - 一体两面

 

Groovy 编写的任何内容都可以编译成标准的 Java 类文件并在 Java 代码中重用。类似地,用标准 Java 代码编写的内容也可以在 Groovy 中重用。所以,可以轻易地使用 Groovy Java 代码编写单元测试。而且,如果用 Groovy 编写一个方便的小工具,那么也可以在 Java 程序中使用这个小工具。

  • 大小: 38.3 KB
分享到:
评论

相关推荐

    groovy简介与使用1

    Groovy是一种基于Java虚拟机(JVM)的动态编程语言,设计目的是提高开发者的生产力,同时保持兼容性和可与Java代码无缝集成。Groovy结合了Python、Ruby和Smalltalk等语言的一些优秀特性,使得它在编写简洁且高效的...

    groovy

    一、Groovy简介 Groovy是2003年由James Strachan创建的一种开源语言,它是Java虚拟机(JVM)上的一个方言。Groovy代码可以直接与Java代码互操作,因为它们都被编译为Java字节码。这种兼容性使得Groovy成为Java开发者...

    groovy-all-2.4.8.jar

    1. **Groovy简介** - Groovy是一种基于Java虚拟机(JVM)的编程语言,它与Java高度兼容,可以直接调用Java库。 - 它引入了脚本语言的简洁性和灵活性,同时保留了静态类型的强类型特性,支持动态类型和静态类型的...

    groovy速查手册

    #### 一、Groovy简介与特性 Groovy是一种为Java虚拟机(JVM)设计的动态语言。它具备完全的对象导向性、可选的类型系统、操作符定制能力、简洁的数据类型声明、闭包(Closures)、范围表达(Ranges)、紧凑的属性...

    groovy+in+action

    #### 二、Groovy简介 Groovy是一种面向对象的动态编程语言,它运行在Java平台上,兼容Java语法并提供了一些增强特性,如闭包、元编程、类型推断等。Groovy的设计旨在提高开发效率和代码可读性,同时保持与Java的互...

    实战groovy.rar

    一、Groovy简介 Groovy是为了解决Java语言的一些繁琐问题而诞生的,它具有更简洁的语法,支持动态类型,可以无缝集成到Java项目中。Groovy与Java共享相同的类库和JVM,这使得它成为Java开发者的理想选择,尤其在构建...

    groovy in action.pdf

    ### Groovy简介 Groovy是一种灵活的、面向对象的脚本语言,它运行于Java平台之上,充分利用了Java的生态系统。Groovy的设计理念是提供一种更加简洁、表达力更强的语法,同时保持与Java的高度兼容性,使得Groovy代码...

    Groovy and Grails Recipes.pdf

    Groovy简介** - **定义**:Groovy是一种灵活、面向对象的编程语言,运行在Java平台上。它兼容现有的Java代码,并且可以调用Java类库中的任何类。 - **特点**: - **动态性**:Groovy支持动态类型系统,可以在...

    Groovy学习笔记

    #### 一、Groovy简介 - **概念**:Groovy是一种灵活的脚本语言,其设计初衷是为了更好地服务于Java开发者。它具备许多现代动态语言的特点,比如Python和Ruby,同时又能够无缝地与Java平台集成。Groovy的语法结构类似...

    groovy 1.7官方教程

    #### 一、Groovy简介 - **定义**:Groovy是一种灵活且动态的语言,专为Java虚拟机(JVM)设计。 - **特点**: - **继承优势**:在保留Java强项的基础上,引入了更多来自Python、Ruby和Smalltalk等语言的高级特性。...

    Groovy DSL

    #### Groovy简介 Groovy是一种基于Java平台的灵活、强大的脚本语言,它与Java高度兼容,能够直接调用Java库中的类和方法,反之亦然。这种无缝集成使得Groovy成为一种极具吸引力的选择,尤其对于那些希望在现有Java...

    Programming_Groovy_2.7z

    1. **Groovy简介** - Groovy是一种基于Java虚拟机(JVM)的编程语言,与Java语法高度兼容,但更简洁,减少了冗余的代码。 - 它引入了动态类型和闭包等概念,使得编程更加灵活,提高了开发效率。 2. **动态类型** ...

    Groovy 学习资料

    1. **Groovy简介** Groovy是由James Strachan于2003年创建的,它的设计目标是简化Java的语法,提高开发效率。Groovy可以直接调用Java的API,与Java代码无缝集成,同时提供了许多动态语言的特性,如闭包、元编程等。...

    Learning Groovy 3

    1. **Groovy简介**:Groovy是一种基于Java虚拟机(JVM)的动态编程语言,它的语法简洁,支持脚本语言的特性,同时也具备静态类型的编译能力。Groovy与Java可以无缝集成,使得开发者可以在一个项目中同时使用两种语言...

    groovy 一个不错的文档 实现dsl

    ##### Groovy简介 Groovy是一种灵活的编程语言,旨在提供一种强大的脚本能力,同时保持与Java的高度兼容性。它支持多种编程范式,包括面向对象编程(OOP)、函数式编程(FP)以及元编程等。Groovy因其灵活性和表达力而...

    Introduction to Groovy

    ### Groovy 入门简介与核心特性解析 #### 标题与描述概述 本文档旨在为读者提供关于Groovy语言的基础介绍与应用实例。通过学习本文档,读者将能够掌握Groovy的基本概念、特点以及如何在Java平台上有效地利用Groovy...

    经典Groovy入门资料

    #### 一、Groovy简介与快速入门 **1.1 使用Groovy** Groovy是一种灵活的面向对象编程语言,它与Java有着良好的兼容性,允许开发者以简洁而强大的方式编写代码。对于那些急于开始编写Groovy代码的新手来说,首先...

Global site tag (gtag.js) - Google Analytics