[Java]利用反射机制动态加载并创建包含参数的对象
2010-07-16 22:23
721 查看
先定义一个A类:
package test;
public class A {
private int a;
public A(){}
public A(int a){
this.a = a;
}
public int getA() {
return a;
}
public void setA(int a) {
this.a = a;
}
}
然后创建一个B类,在B类的main方法中动态加载A类,并生成A类的对象,调用有参数的构造函数:
package test;
import java.lang.reflect.Constructor;
public class B {
public B(){}
public static void main(String[] args) throws Exception
{
int i = 5;
A tempClass = (A)(Class.forName("test.A").newInstance());
Class[] parameter = new Class[]{int.class};
Constructor con = tempClass.getClass().getConstructor(parameter);
Object[] arg= new Object[] { i };
A a = (A)con.newInstance(arg);
System.out.println(a.getA());
}
}
package test;
public class A {
private int a;
public A(){}
public A(int a){
this.a = a;
}
public int getA() {
return a;
}
public void setA(int a) {
this.a = a;
}
}
然后创建一个B类,在B类的main方法中动态加载A类,并生成A类的对象,调用有参数的构造函数:
package test;
import java.lang.reflect.Constructor;
public class B {
public B(){}
public static void main(String[] args) throws Exception
{
int i = 5;
A tempClass = (A)(Class.forName("test.A").newInstance());
Class[] parameter = new Class[]{int.class};
Constructor con = tempClass.getClass().getConstructor(parameter);
Object[] arg= new Object[] { i };
A a = (A)con.newInstance(arg);
System.out.println(a.getA());
}
}
相关文章推荐
- C#利用反射动态创建对象 带参数的构造函数和String类型 (转载)
- C#利用反射动态创建对象 带参数的构造函数和String类型
- C# 利用反射动态创建对象——带参数的构造函数和String类型
- C# 利用反射动态创建对象——带参数的构造函数和String类型
- 自己在项目中的学习总结:利用工厂模式+反射机制+缓存机制,实现动态创建不同的数据层对象接口
- 如何利用java的反射机制动态的取得对象的属性?
- C#利用反射动态创建对象 带参数的构造函数和String类型
- java反射并不是什么高深技术,面向对象语言都有这个功能,而且功能也很简单,就是利用jvm动态加载时生成的class对象
- JavaME程序 Run Anywhere-- 利用反射机制来动态加载声
- C# 静态工厂利用反射机制动态构建配置文件中 所配置的类的对象
- 利用反射动态创建对象
- JAVA 利用反射机制查询数据库返回相应对象
- 【转】C# 利用反射动态创建对象
- Java的反射机制,动态加载类(一)
- 一个新的对象创建机制的思考--C++下实现类似于Java的对象管理机制及反射
- 番外 01:Spring IoC 实现原理简析,Java的反射机制,通过类名创建对象
- 番外 01:Spring IoC 实现原理简析,Java的反射机制,通过类名创建对象
- protobuf在java应用中通过反射动态创建对象
- 【C#】利用反射机制创建对象
- [转载]利用反射动态创建对象