-1

java是否可以在运行时声明和实例化一个类?

我正在尝试以下代码:

    public static void t4() {
    Object o = new Object() {
        private String uid = "1";
        private String name = "2";

        public String getName() {
            return name;
        }

        public String getUid() {
            return uid;
        }

        public void setName(String name) {
            this.name = name;
        }

        public void setUid(String uid) {
            this.uid = uid;
        }

        @Override
        public String toString() {
            return uid + " " + name;
        }
    };

但是,我希望使用反射来实现这一点,因为我将从 xml 源将属性注入 pojo。

还有什么想法吗?

4

2 回答 2

1

好吧,互联网上都有答案……给你一个

“Class.forName()”和“Class.forName().newInstance()”有什么区别?

上面帖子的答案演示了如何在运行时创建一个新实例。

于 2012-10-16T21:15:14.360 回答
1

在某种程度上,可以使用 JDK6.0 的 Java Compiler API 从 String 对象(保存代码)动态编译类。

http://www.java2s.com/Code/Java/JDK-6/CompilingfromMemory.htm参考这里。

该代码还向您展示了如何从类文件(使用 Class.forName())方法动态实例化“新编译的”类。

于 2012-10-16T21:11:40.977 回答