如何用Class.forName方法动态加载构造方法带参数的类

来源:互联网 发布:中国帮非洲知乎 编辑:程序博客网 时间:2024/05/21 05:38
 

在用Class.forName方法动态加载构造方法带参数的类时,为了将参数传递进去,可以考虑java的反射机制,比如有一个类如下:

        public class Cat{

                    private int age;

                    private String name;

                    public void Cat(String name, int age){

                           this.name = name;

                           this.age = age;

                   }

        }

        如果想用Class.forName方法动态加载这个类,可以用以下类似的代码实现:

        import java.lang.reflect.Constructor;

        publc class LoadCat{

                    private int age;

                    private String name;

                    public void LoadCat(String name, int age){

                           super();

                           this.name = name;

                           this.age = age;

                   }

                   public static void main(String args[ ]){

                             Class clazz = Class.forName("Cat");

                             Constructor constructor = clazz.getConstructor(String.class, int.class);

                             LoadCat test = (LoadCat) constructor.newInstance("test", 1);

                   }

        }

原创粉丝点击