-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

これについては、インターネット全体に答えがあります...ここでは、1つを使用します

「Class.forName()」と「Class.forName().newInstance()」の違いは何ですか?

上記の投稿の回答は、実行時に新しいインスタンスを作成する方法を示しています。

于 2012-10-16T21:15:14.360 に答える
1

JDK6.0 の Java コンパイラ API を使用して、String オブジェクト (コードを保持) からクラスを動的にコンパイルすることは、ある程度可能です。

http://www.java2s.com/Code/Java/JDK-6/CompilingfromMemory.htmこちらを参照してください。

このコードは、「新しくコンパイルされた」クラスをクラス ファイルから (Class.forName() メソッドを使用して) 動的にインスタンス化する方法も示しています。

于 2012-10-16T21:11:40.977 に答える