java反射方式创建实例

在谈到实例的时候,很多人对这个概念还不能说出所以然。其实实例就是一个具体的对象,像我们之前学习的类、数组都可以创建实例。反射相对而言也是比较抽象的概念,所以我们是能够把它实例化的。下面简单对实例进行了解,然后分别带来无参和有参的反射实例实例化方法。

1.实例说明

new 一个对象是实例,可以把这个new出来的对象叫做实例,说白了就是这个new出来的“东西”,叫它对象也可以,叫它实例也可以,对象和实例在这个角度上来讲是等价的。

2.创建空参的实例 使用Class对象的newInstance()方法来创建Class对象对应类的实例。

//原始:new的时候,先根据被new的类的名称找寻该类的字节码文件,并加载进内存,

//并创建该字节码文件对象,并接着创建该字节文件对应的Person对象。

Personp=newPerson();

//反射:找寻该类的名称,并加载进内存,并产生Class对象
//在产生类的对象
StrintclassName="com.example.hgx.Person";
Classclazz=Class.forName(className);
Objectobj=clazz.newInstance();

3.创建带参数的实例。 这时要通过Class对象获取指定的Constructor对象,再调用Constructor对象的newInstance()方法来创建实例。

classPerson{
publicStringname;
privateintage;

publicPerson(Stringname,intage){
this.name=name;
this.age=age;
}

}

//获取Person类带一个(String,int)参数的构造器
StrintclassName="com.example.hgx.Person";
Classclazz=Class.forName(className);
Constructorconstructor=clazz.getConstructor(String.class,int.class);
原文来自:https://www.py.cn
© 版权声明
THE END
喜欢就支持一下吧
点赞9 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容