Java反射创建对象(手把手教你3步搞定)

Java反射创建对象(手把手教你3步搞定)-mikechen

Java反射是指在运行时动态地获取一个类的信息,而Java反射创建对象一般需要3个步骤@mikechen

第一步:获取类的Class对象

通过Class.forName()方法获取类的Class对象:

Class<?> clazz = Class.forName("com.mikechen.User");

也可以使用类的.class属性,例如:

Class<?> clazz = User.class;

也可以使用对象的getClass()方法,例如:

Class<?> clazz = user.getClass();

都可以获取类的Class对象。

 

第二步:获取构造函数对象

获取构造函数对象有多种方式,可以通过Class对象的getConstructor()方法或getDeclaredConstructor()方法来获取构造函数对象。

1)使用Class对象的getDeclaredConstructor()方法获取所有的构造函数:

Constructor<?> constructor = clazz.getDeclaredConstructor();

 

2)使用Class对象的getConstructor()方法获取公共的构造函数:

Constructor<?> constructor = clazz.getConstructor();

 

第三步:创建对象

通过构造函数对象的newInstance()方法来创建对象:

Object obj = constructor.newInstance();

newInstance()方法会调用构造函数来创建一个新的对象,并返回该对象的引用。

完整的Java反射创建对象的代码如下:

Class<?> clazz = Class.forName("com.mikechen.User");
Constructor<?> constructor = clazz.getDeclaredConstructor();
Object obj = constructor.newInstance();

以上就是java反射创建对象详解,更多内容请查看:Java反射详解(万字图文全面总结)

陈睿mikechen

10年+大厂架构经验,资深技术专家,就职于阿里巴巴、淘宝、百度等一线互联网大厂。

关注「mikechen」公众号,获取更多技术干货!

后台回复面试即可获取《史上最全阿里Java面试题总结》,后台回复架构,即可获取《阿里架构师进阶专题全部合集

评论交流
    说说你的看法