groovy 及 groovy classloader的使用

import groovy.lang.GroovyClassLoader;

import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
public static void main(String[] args) throws NoSuchMethodException, IllegalAccessException, InstantiationException {
   //字符串转java
   //groovy提供了一种将字符串文本代码直接转换成Java Class对象的功能
   GroovyClassLoader groovyClassLoader = new GroovyClassLoader();
   //里面的文本是Java代码,但是我们可以看到这是一个字符串我们可以直接生成对应的Class<?>对象,而不需要我们写一个.java文件
   Class<?> clazz = groovyClassLoader.parseClass("package com.xxl.job.core.glue;\n" +
      "\n" +
      "public class Main {\n" +
      "\n" +
      "    public int age = 22;\n" +
      "    \n" +
      "    public void sayHello() {\n" +
      "        System.out.println(\"年龄是:\" + age);\n" +
      "    }\n" +
      "}\n");

   Method method = clazz.getDeclaredMethod("sayHello");
   try {
      method.invoke(clazz.newInstance());
   } catch (InvocationTargetException e) {
      e.printStackTrace();
   }
}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值