您的位置:首页 > 编程语言 > Java开发

Java反射,根据类名创建带参数的实例

2013-05-08 16:08 537 查看
//根据类名获取Class对象

  Class c=Class.forName("java.lang.Integer"); 

//参数类型数组

  Class[] parameterTypes=...{String.class};

//根据参数类型获取相应的构造函数

  java.lang.reflect.Constructor constructor=c.getConstructor(parameterTypes);

//参数数组

  Object[] parameters=...{"1"};

//根据获取的构造函数和参数,创建实例

  Object o=constructor.newInstance(parameters);

[align=center]Java 反射 根据类名创建类实例[/align]

创建的这个类的需要继承一个接口(Interface) ,因为获取了实例需要强制转换成某一个借口的实例才可以调用其中的方法。

创建一个Class类的引用,调用Class类的静态方法forName(String),参数为类的绝对路径(包含包路径如:org.test.GetClass)。

        Class onwClass = Class.forName("org.test.GetClass");

现在我们有了一个Class类的实例了。下面就是获取一个Object类的实例对象。

        Object o = onwClass.newInstance();

现在我们已经有了一个Object对象,下一步就可以对这个Object进行强制转换了。

假如org.test.GetClass 继承一个叫GetInterface的接口。我们就可以把这个object对象强制转换成这个接口,然后就可以调用其中的方法了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: