開啟主選單

求真百科

變更

Groovy

增加 4,101 位元組, 3 年前
创建页面,内容为“{| class="wikitable" align="right" |- | style="background: #008080" align= center|  '''<big>Groovy</big> ''' |- | File:C995d143ad4bd113d34fcfab5aafa40f4afb05ac.j…”
{| class="wikitable" align="right"
|-
| style="background: #008080" align= center|  '''<big>Groovy</big> '''
|-
|
[[File:C995d143ad4bd113d34fcfab5aafa40f4afb05ac.jpg|缩略图|居中|[https://i01piccdn.sogoucdn.com/ae413be0808ed686 原图链接][https://pic.sogou.com/pics?ie=utf8&p=40230504&interV=kKIOkrELjbgQmLkElbYTkKIMkrELjbkRmLkElbkTkKIRmLkEk78TkKILkbHjMz%20PLEDmK6IPjf19z%2F19z6RLzO1H1qR7zOMTMkjYKKIPjflBz%20cGwOVFj%20lGmTbxFE4ElKJ6wu981qR7zOM%3D_844253275&query=%E9%AB%98%E7%A3%81%E5%AF%BC%E7%8E%87%E6%9D%90%E6%96%99 来自搜狗的图片]]]
|-
| style="background: #008080" align= center|
|-
| align= light|
|}
'''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很好的结合编程。类型对于变量,属性,方法,闭包的参数以及方法的返回类型都是可有可无的,都是在给变量赋值的时候才决定它的类型, 不同的类型会在后面用到,任何类型都可以被使用,即使是基本类型 (通过自动包装(autoboxing)). 当需要时,很多类型之间的转换都会自动发生,比如在这些类型之间的[[转换]]: 字符串(String),基本类型(如int) 和类型的包装类 (如Integer)之间,可以把不同的基本类型添加到同一数组(collections)中。
=='''评价'''==
在Groovy中类和文件的对应关系并不像Java中那么固定(Java中一个文件只能有一个声明为public的类和其他一些非公共的类和内嵌类) 。在同一个groovy文件中可以包含多个public的类定义。具体规则如下:如果在一个groovy文件中没有任何类定义,它将被当做script来处理,也就意味着这个文件将被透明的转换为一个Script类型的类,这个自动转换得到的类将使用原始的groovy文件名(去掉扩展名,没有包名,在default包中)作为类的名字。groovy文件的内容被打包进run方法,另外在新产生的类中被加入一个main方法以进行外部执行该脚本。如果在groovy文件正好有一个类的定义,并且该类的名字与文件名称相同,那么这就和java中的类与文件的一一对应关系相同。在一个groovy文件中可以包含多个不同可见性的类定义,并且没有强制性的要求其中有一个类的类名与文件名相同。groovyc编译器会很乐于把该文件中定义的所有的类都编译成*.class文件。如果希望能够直接调用这个groovy script,比如说在使用groovy命令行或者在某个IDE中执行,那么应该在该文件中的第一个类中定义一个main方法。在一个groovy文件中可以混合类的定义和脚本定义。在这种情况下,那些脚本代码将会变成直接调用的主类,所以在这种情况下不应该再定义一个和文件同名的类。在没有经过明确的编译过程即执行时,groovy将通过文件名来查找类。在这种情况下,名称将会很重要。Groovy只能找到那些和文件名匹配的类。在找到这种名字匹配的类时,找到的文件中定义的其他类将被解析并变得对groovy可见。<ref>[https://zhuanlan.zhihu.com/p/171756902 Groovy]搜狗</ref>
=='''参考文献'''==
41,228
次編輯