加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

Groovy – 1

发布时间:2020-12-14 16:53:36 所属栏目:大数据 来源:网络整理
导读:作者: 李东龙 ???????? 一 . 什么是 Groovy? ???????? ??????? Groovy 是一种基于 JVM 的敏捷开发语言,它结合了 Python 、 Ruby 和 Smalltalk 的许多强大的特性, Groovy 代码能够与 Java 代码很好地结合,也能用于扩展现有代码。由于其运行在 JVM 上的特性

作者: 李东龙

???????? 一 .什么是Groovy?

????????

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

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

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

?

??????? 说白了Groovy也是一种开发语言,上面是百度百科中对Groovy的概念行解释.下面大家看一个小例子吧!

??这个是一个主函数,? 调用了IFOO这个接口. ???????

 import groovy.lang.GroovyClassLoader;  
 import java.io.File;  

 public class InvokeGroovy {   
   
     public static void main(String[] args) {  
         ClassLoader cl = new InvokeGroovy().getClass().getClassLoader();  
         GroovyClassLoader groovyCl = new GroovyClassLoader(cl);  
         try {  
             Class groovyClass = groovyCl.parseClass(new File("src/com/jlee/Foo.groovy"));  
             IFoo foo = (IFoo) groovyClass.newInstance();  
             System.out.println(foo.run(new Integer(2)));  
         } catch (Exception e) {  
             e.printStackTrace();  
         }  
     }  
   
 }  

下面是接口:

/**
 * @author ldl
 * @date 2012-12-19
 * @desc Java 接口
 */
public interface IFoo {
	 public Object run(Object foo);   
}

?下面是对该接口的具体实现:

/**
 * @author Jlee
 * @date 2012-12-19
 * @desc 实现Java 接口的 Java 类
 */
public class Foo2 implements IFoo {

	public Object run(Object foo) {
		System.out.println("Foo2里面输出 : "+foo);
		return "foo2";
	}

}

????
下面是Groovy对该功能的实现:?????????

import java.lang.Override
/**
 * @author Jlee
 * @date 2012-12-19
 * @desc 实现Java 接口的 Groovy 类
 */
public class Foo implements IFoo {
	@Override
	 public Object run(Object foo){
		 println 'Hello World!' ;
		 /*******************************
		  * 实例化Java实现Foo接口的Foo2类*
		  * Groovy中调用Java                      *
		  * ******************************/
		 Foo2 f2 = new Foo2() ;
		 def str = f2.run(2);
		 println str ;
		 return foo*10;
	 }	
	 //直接运行该Groovy类
	 public static void main(args){
		 Foo f = new Foo();
		 f.run(3)
	 }
}


?? 大家看一下这样的实现是不是很简洁啊! 不过具体的开发还需要慢慢研究!

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读