日期:2014-05-20  浏览次数:20773 次

Java 动态创建类
Java是否有像C#中的反射发出那样的功能,直接能够动态创建类?

------解决方案--------------------
嗯,有的.具体方法如下:
Java code

public int CA_UpdateForSame(String xml, String strTrustId) {
        String methodName = "";
        String className = "com.hc.services.impl.UpdatePeoInfoImpl";

        try {
            
            Class myClass = Class.forName(className);
            methodName = XMLMaster.getFirstChildrenTagName(doc, childTagName)
                    + "_" + XMLMaster.getFirstChildrenTagName(doc);
            Method connMethod = myClass.getMethod(methodName);
            UpdatePeoInfoImpl ca = new UpdatePeoInfoImpl();
            // this.xmlString=new String(xml);
            ca.xmlString = xml;
            connMethod.invoke(ca, null);
            return 1;
        } catch (Exception e) {
            System.out.println("CA_UpdateForSame:" + e.toString());
        }

------解决方案--------------------
1)通过 Class myClass = Class.forName(className);来创建类
2) Method connMethod = myClass.getMethod(methodName);
connMethod.invoke(ca, null); 调用具体的方法;

这是我实际项目的例子中的一个片断,楼主可以参考一下
------解决方案--------------------
四哥玩高端的
探讨

创建类还是创建对象?

要创建类可以使用javassist

------解决方案--------------------
探讨
我理解成创建一个不存在的类了