反射获取带参数的构造方法
Constructor
Class类的newInstance()方法是使用该类无参的构造函数创建对象, 如果一个类没有无参的构造函数, 就不能这样创建了,可以调用Class类的getConstructor(String.class,int.class)方法获取一个指定的构造函数然后再调用Constructor类的newInstance("张三",20)方法创建对象
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | import java.lang.reflect.Constructor; import com.loaderman.bean.Person; public class Demo_Constructor { /** Class类的newInstance()方法是使用该类无参的构造函数创建对象, 如果一个类没有无参的构造函数, 就不能这样创建了,可以调用Class类的getConstructor (String.class,int.class)方法获取一个指定的构造函数然后再调用Constructor类的newInstance ("张三",20)方法创建对象 @throws Exception */ public static void main(String[] args) throws Exception { Class clazz = Class.forName( "com.loaderman.bean.Person" ); //Person p = (Person) clazz.newInstance(); 通过无参构造创建对象 //System.out.println(p); Constructor c = clazz.getConstructor(String. class , int . class ); //获取有参构造 Person p = (Person) c.newInstance( "张三" , 23 ); //通过有参构造创建对象 System.out.println(p); } } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | package com.loaderman.bean; public class Person { private String name; private int age; public Person() { super (); } public Person(String name, int age) { super (); this .name = name; this .age = age; } |
最后,关注【码上加油站】微信公众号后,有疑惑有问题想加油的小伙伴可以码上加入社群,让我们一起码上加油吧!!!
posted on 2017-02-17 19:21 LoaderMan 阅读(4399) 评论(0) 编辑 收藏 举报
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步