美文网首页
反射方法应用

反射方法应用

作者: 黑黑的大猫 | 来源:发表于2019-06-21 20:53 被阅读0次

实体类的私有方法,类外不能调用 

/**

* @author pqYang

* @Date 20:39 2019/6/21

**/

public class SelfMethod {

private Strings;

private String getII(){

return "1+2=3";

}

public String getS() {

return s;

}

public void setS(String s) {

this.s = s;

}

}

反射的方法类

public class BaseTest {

/*

    * @Param obj 实体类    * @Param methodName 方法名    * @Param retType 返回值类型    * @Param args 参数(无参数是不用写)

* @Author pqYang

* @Date 20:50 2019/6/21

* @return T

**/

    @SuppressWarnings({"unchecked","rawtypes"})

public T invokeHiddenMethod(Object obj, String methodName, Class retType, Object... args) {

try {

Class[] types =new Class[args.length];

for (int i =0; i < types.length; i++) {

types[i] = args[i].getClass();

}

Method declaredMethod = obj.getClass().getDeclaredMethod(methodName, types);

declaredMethod.setAccessible(true);

return (T) declaredMethod.invoke(obj, args);

}catch (NoSuchMethodException e) {

e.printStackTrace();

}catch (IllegalAccessException e) {

e.printStackTrace();

}catch (InvocationTargetException e) {

e.printStackTrace();

}

return null;

}

}

测试的类

public class TTTT {

/*

* @Param

* @Author pqYang

* @Date 20:50 2019/6/21

* @return void

**/

    @Test

    public void mainsss() {

SelfMethod selfMethod =new SelfMethod();

BaseTest baseTest =new BaseTest();

String getII = baseTest.invokeHiddenMethod(selfMethod,"getII", String.class);

System.out.println(getII);

}

}

相关文章

  • 反射方法应用

    实体类的私有方法,类外不能调用 /** * @author pqYang * @Date 20:39 2019/6...

  • reflect.go包学习_之二 指针操作提高反射性能 反射应用

    reflect.go包学习_之二 指针操作提高反射性能 反射应用 反射创建实例 反射信息、反射调用方法、反射修改值...

  • 「反射」 Python中的神器

    1.什么是反射: 2.反射的方法 3.方法的简单介绍 4.反射的实际应用场景 在我们做接口自动化的时候,需要通过不...

  • java 反射

    什么是反射 反射的作用 反射的应用场景 获取Class对象 获取属性 5.获取方法 6.获取构造 7.创建对象 8...

  • 大连滕泰科技学习笔记2020-06-18

    1,反射作业 1,1 自定义注解和反射的应用需求1:模拟junit测试框架有注解(方法上有)告诉我一个方法名称,(...

  • 反射和注解的应用

    反射和注解的应用 一、利用Properties读取配置文件,再用反射进行获得类的方法调用 二、利用注解来简化读取配...

  • iOS 反射

    什么是反射 类名、方法名、属性名和字符串在运行时相互转化的能力 反射方法 应用场景 1、代码模块化,解耦代码 2、...

  • PHP Reflection 反射

    反射 ReflectionClass 类 PHP反射机制 反射在 PHP 中的应用

  • 工厂方法模式和关于反射的笔记

    这是我学习工厂方法模式(Factory Method)和关于反射(Reflection)的笔记。 1. 模式应用 ...

  • Java反射理解(五)-- 方法反射的基本操作

    Java反射理解(五)-- 方法反射的基本操作 方法的反射 1. 如何获取某个方法 方法的名称和方法的参数列表才能...

网友评论

      本文标题:反射方法应用

      本文链接:https://www.haomeiwen.com/subject/gnzuqctx.html