pom文件引入groovy包
1<dependency> 2 <groupId>org.codehaus.groovy</groupId> 3 <artifactId>groovy-all</artifactId> 4 <version>2.5.5</version> 5 </dependency>
java接口
1package com.yydone.test; 2 3interface IFoo { 4 Object add(Object x, Object y); 5}
groovy实现类,实现IFoo接口
1package com.yydone.test 2 3class Foo implements IFoo { 4 Object add(Object x, Object y) { 5 return x + y 6 } 7}
java测试类
1package com.yydone.test; 2 3import groovy.lang.GroovyClassLoader; 4 5public class GroovyClassLoaderExample { 6 7 public static void main(String[] args) { 8 try { 9 Class clazz; 10 try (GroovyClassLoader loader = new GroovyClassLoader()) { 11 clazz = loader.loadClass("com.yydone.test.Foo"); 12 } 13 IFoo foo = (IFoo) clazz.newInstance(); 14 System.out.println( foo.add(new Integer(2), new Integer(3))); 15 } catch (Exception e) { 16 e.printStackTrace(); 17 } 18 } 19}
运行结果
5
成功调用groovy实现