Java反射技术常用API—通过反射构建对象

Code 1:通过反射构建无参数对象

Class.forName(类的全限定名).newInstance();     //  该创建方式在JDK1.9之后被起用

替代方式:

Class.forName(类的全限定名).getConstructor().newInstance();

注意事项:当要构建的对象存在有参构造方法且想通过反射构建无参数对象时,必须在该对象的类中显示的写出无参数的构造方法。

Code 2:通过反射构建有参数对象

Class.forName(类的全限定名).getConstructor(参数类型1.class, 参数类型2.class, ......).newInstance(参数1, 参数2, ......);

备注:此处的参数类型可以是任意类型(包括基本数据类型,eg:int.class、double.class)。

2.反射方法

Code 1:反射无参方法

Object objecct = Class.forName(类的全限定名).getConstructor().newInstance();

Method method = object.getClass().getMethod(方法名);

method.invoke(object);

具体类对象 entityObj = (具体类对象)Class.forName(类的全限定名).getConstructor().newInstance();

Method method = entityObj.class.getMethod(方法名);

method.invoke(entityObj);

Code 2:反射有参方法

Object objecct = Class.forName(类的全限定名).getConstructor().newInstance();

Method method = object.getClass().getMethod(方法名, 参数类型1, 参数类型2, ......);

method.invoke(object, 参数1, 参数2, ......);

具体类对象 entityObj = (具体类对象)Class.forName(类的全限定名).getConstructor().newInstance();

Method method = entityObj.class.getMethod(方法名, 参数类型1, 参数类型2, ......);

method.invoke(object, 参数1, 参数2, ......);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值