如何用Class.forName方法动态加载构造方法带参数的类
2011-09-26 10:19
585 查看
在用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);
}
}
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);
}
}
相关文章推荐
- 如何用Class_forName方法动态加载构造方法带参数的类
- Class.forName加载自定义类(无参数构造方法)
- class.forName()用法心得---动态加载类 和调用类的方法和属性的方法
- 使用forName动态加载类文件,动态加载不适合数组,动态加载数组的方法
- python 动态加载类,类似java的class.forName
- 黑马程序员--09.动态与代理AOP--02【Class.forName方法扩展】【Proxy类I】
- java加载类的方法1.classloader 2.class.forName()
- Class.forName加载自定义类(带参数构造方法)
- java 中能否使用 动态加载的类(Class.forName) 来做类型转换?
- Java中class是如何加载到JVM中的(Class.forName("name")和ClassLoader.loadClass("name")的区别)
- 由加载数据库驱动的方法Class.forName()看其作用!
- java中动态加载类 Class.forName
- Class.forName 如何加载数据库驱动
- Class.forName动态加载类
- Java运行时动态加载类之Class.forName
- 关于android studio中使用class.forname()方法动态获取类实例报NO CLASS FOUND异常的几种处理方法
- Java中class是如何加载到JVM中的(Class.forName("name")和ClassLoader.loadClass("name")的区别)
- Class.forName(String name)方法,到底会触发那个类加载器进行类加载行为?
- 【自己动手写类加载器2】覆盖findClass(String name)方法,删除bin目录下的加密的class文件
- 用几何画板参数如何构造动态解析式