Groovy – 1

作者: 李东龙

         一 .什么是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)
	 }
}


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

  
 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值