美文网首页
Java反射调用

Java反射调用

作者: 蒸汽飞船 | 来源:发表于2018-05-07 15:21 被阅读15次
//属性获取
try {
    Field field = recycler.getClass().getDeclaredField("mCachedViews");
    field.setAccessible(true); // 抑制Java对修饰符的检查
    ArrayList<ViewHolder> cacheViews = (ArrayList<ViewHolder>) field.get(recycler);
    //get获取结果,set方法设值
    ...
} catch (Exception e) {
    e.printStackTrace();
   
}

//方法调用(getClass获取本类的方法属性,getSuperclass取父类的)
Method method = pool.getClass().getSuperclass().getDeclaredMethod("size");
            method.setAccessible(true); // 抑制Java的访问控制检查
int size = (int) method.invoke(pool);
return size;

//Class信息的获取
Class<?> clazz = Class.forName("android.support.v7.widget.RecyclerView$RecycledViewPool$ScrapData");//内部类加$符号
recycledViewPool.getClass();//通过对象获取
  1. getDeclaredMethods() :反映此 Class 对象表示的类或接口声明的所有方法,但不包括继承的方法。 简称:所有的方法除了继承的
  2. getMethods():反映此 Class 对象所表示的类或接口的指定公共成员方法。 简称:公共方法包括继承的
  3. 对上面的补充:xxx.getClass().getSuperclass(),这可以获得继承的父类的Class信息

相关文章

  • JVM的反射调用实现

    如何执行反射调用 Java的反射调用是通过java.lang.reflect.Method的invoke调用执行,...

  • Java 反射

    Java反射Java反射API获取Class对象通过反射创建实例对象,调用公共方法通过反射调用私有方法 一.Jav...

  • Java基础之反射

    Java基础之反射 反射基本介绍 反射的使用通过反射调用属性和方法通过反射获取配置文件 反射基本介绍 Java反射...

  • 9012年了,别说java反射慢了

    java 反射 java反射 调用 通过Method.invoke 委托给sun.reflect.MethodAc...

  • java的反射功能

    rovider的调用都会用到java的反射功能,有人说使用反射会慢,那么到底慢在哪里呢? 反射 反射使JAVA语言...

  • Java反射调用

    getDeclaredMethods() :反映此 Class 对象表示的类或接口声明的所有方法,但不包括继承的方...

  • 【Java 进阶】Java 反射

    反射:获取Class中所有字段(Field)与方法(Method),并实现调用(invoke) Java 反射简单...

  • 安利一个优雅的Java反射工具

    Java开发中或多或少的会用到反射的方式,通常的反射方式调用如下: 每一次的反射调用都让人觉得代码有很多冗余的地方...

  • 关于java及Spring环境下反射的使用举例:

    一:java中反射调用举例: 1,写一个类,作为后面被反射调用的类及对方法。类名:TcpProcessServic...

  • java反射机制

    java反射机制是为了动态获取类的结构,动态地调用对象的方法 java反射机制 获取类Class对象 A.clas...

网友评论

      本文标题:Java反射调用

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