groovy中使java必须import吗

 我来答
育知同创教育
2017-11-01 · 百度知道合伙人官方认证企业
育知同创教育
1【专注:Python+人工智能|Java大数据|HTML5培训】 2【免费提供名师直播课堂、公开课及视频教程】 3【地址:北京市昌平区三旗百汇物美大卖场2层,微信公众号:yuzhitc】
向TA提问
展开全部

第一种是调用groovy官方库里的类

第二种是调用自己写的groovy文本的类 

缺点: 如果不安装groovy解释器和groovy Eclipse插件.就无法享受更多的对jdk 类的扩展, 已经脚本化语法的便捷.

脚本语言特点 无main,直接printf

第二步: jar依赖,maven库上传.

第三步: 推广成员安装groovy解释器和groovy Eclipse插件

1. 第一种. 如果用maven的话

在pom的 依赖项里加入.

<groupId>org.codehaus.groovy</groupId>

<artifactId>groovy-all</artifactId>
<version>2.2.2</version>

</dependency>

或者去官网下载grovvy的jar包,导入的eclipse的class依赖中.

就可以直接在java里调用 grovvy库里的类了.

( 如果Eclipse不会自动 import groovy的类,需要在.project中新增  <nature>org.eclipse.jdt.groovy.core.groovyNature</nature> )

import groovy.util.GroovyCollections;
import java.util.List;
public static void main(String[] args) {
List<Double> lists = new ArrayList<Double>();
lists.add(0.2);
lists.add(0.3);
lists.add(0.2);

Object sum = GroovyCollections.sum(lists);
System.out.println(sum);
}

====

2 第二种.  如果是自己写的groovy 文件.

假如如下 GrovvySystemConfigRead.groovy代码

[java] view plaincopy

  • /** 

  • * Created by IntelliJ IDEA. 

  • * User: Web-03 

  • * Date: 11-4-21 

  • * Time: 下午3:43 

  • * To change this template use File | Settings | File Templates. 

  • */  

  • class GrovvySystemConfigRead {  

  • /* 

  • *  读取邮件验证访问路径, ConfigurationHolder是groovy框架grais里的某个类

  • */  

  • static String getName(){  

  • return "csdn" ;

  • }  

  • }  

  • 2.1 第一种调用,JAVA类(JavaClassCallGroovy)是可以直接调用GROOVY类(上面写好的SystemConfigRead)的。

    (需要安装eclipse插件,自动把groovy文本文件编译为.class ,插件安装见 

    [java] view plaincopy

  • public class JavaClassCallGroovy{

  • public static void main(String[] args) {

  • SystemConfigRead.getName();  

  • }

  • }

  • 2.2 第二种,以反射脚本化方式调用(不推荐),实现脚本化调用,即脚本改动后,无需编译,自动执行的目的.

    这种反射化调用不仅可以用在java类调用groovy类,也可以用在java类调用java类,实现java的脚本化.

    [java] view plaincopy

  • /** 

  • * JAVA调用GROOVY 

  • * @throws IOException 

  • * @throws IllegalAccessException 

  • * @throws InstantiationException 

  • * 添加人:** 

  • * 添加时间:211-08-30 14:27 

  • */  

  • public void groovyToJava() throws IOException, IllegalAccessException, InstantiationException {  

  • ClassLoader parent = getClass().getClassLoader();  

  • GroovyClassLoader loader = new GroovyClassLoader(parent);  

  • //找到指定的groovy类  

  • Class groovyClass = loader.parseClass(new File("site/grails-app/utils/com/ingping/core/SystemConfigRead.groovy"));  

  • //将对象实例化并且强制转换为GroovyObject对象  

  • GroovyObject groovyObject = (GroovyObject) groovyClass.newInstance();  

  • //readEmailCodeUrl方法名,null 参数值,没有为null  

  • System.out.println("" + groovyObject.invokeMethod("readEmailCodeUrl", null));  

  • }  

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式