码迷,mamicode.com
首页 > 其他好文 > 详细

利用反射创建对象必须要显式的声明构造方法吗?

时间:2017-06-13 14:27:44      阅读:147      评论:0      收藏:0      [点我收藏+]

标签:传递参数   利用反射   ring   pre   cto   for   target   oid   object   

可以不提供,只不过这样的话构造对象的时候一定要先拿到有参数的构造方法,然后赋予参数再构建对象。
比如
package cn.mldn.demo;

import java.lang.reflect.Constructor;

class Person
{ // CTRL + K
private String name;
private int age;

public Person(String name, int age)
{
this.name = name;
this.age = age;
}

@Override
public String toString()
{
return "Person [name=" + name + ", age=" + age + "]";
}
}

public class TestDemo
{
public static void main(String[] args) throws Exception
{
Class<?> cls = Class.forName("cn.mldn.demo.Person"); // 取得Class对象
// 取得指定参数类型的构造方法
Constructor<?> cons = cls.getConstructor(String.class, int.class);
Object obj = cons.newInstance("张三", 20); // 为构造方法传递参数
System.out.println(obj);
}
}

利用反射创建对象必须要显式的声明构造方法吗?

标签:传递参数   利用反射   ring   pre   cto   for   target   oid   object   

原文地址:http://www.cnblogs.com/XJJD/p/7000384.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!