只知道类名字符串(不知路径)怎么转换为Class 类型

只知道类名字符串(不知路径)如何转换为Class 类型
public static void main(String[] args) {
        CustomerInfo cus = new CustomerInfo();
        cus.setName("aa");
        JSONObject cusstr = JSONObject.fromObject(cus);
    
        String str = "CustomerInfo";
            
        try {        
            Class<?> cl = Class.forName(str);
            JSONObject.toBean(cusstr, cl.getClass());  //这里报错
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        }
    } 



Object net.sf.json.JSONObject.toBean(JSONObject jsonObject, Class beanClass)


错误信息提示如下:
net.sf.json.JSONExceptionjava.lang.SecurityException: Can not make a java.lang.Class constructor accessible
at net.sf.json.JSONObject.toBean(JSONObject.java:302)
at net.sf.json.JSONObject.toBean(JSONObject.java:247)
at com.ruijie.common.util.StringUtils.jsonToEntity(StringUtils.java:85)
at com.ruijie.csc.center.customer.service.impl.CustomerInfoServiceImpl.main(CustomerInfoServiceImpl.java:145)
Caused by: java.lang.SecurityException: Can not make a java.lang.Class constructor accessible
at java.lang.reflect.AccessibleObject.setAccessible0(AccessibleObject.java:118)
at java.lang.reflect.AccessibleObject.setAccessible(AccessibleObject.java:108)
at net.sf.json.util.NewBeanInstanceStrategy$DefaultNewBeanInstanceStrategy.newInstance(NewBeanInstanceStrategy.java:56)
at net.sf.json.JSONObject.toBean(JSONObject.java:296)
... 3 more
------解决方案--------------------
Class.forName利用ClassLoader 机制加载类,根据Java规范,任何作为 String 类型参数传递给 ClassLoader 中方法的类名称都必须是一个二进制名称,二进制名称由包名+类名构成,例如:
   "java.lang.String"
   "javax.swing.JSpinner$DefaultEditor"
   "java.security.KeyStore$Builder$FileBuilder$1"
   "java.net.URLClassLoader$3$1"

----------------------
http://docs.oracle.com/javase/7/docs/api/java/lang/ClassLoader.html
------解决方案--------------------
需要定义无参构造方法?
------解决方案--------------------
楼主CustomerInfo这个类代码中不是已经有了,干嘛还要用Class.forName();
直接用JSONObject.toBean(cusstr, CustomerInfo.class);