美文网首页
Java反射

Java反射

作者: liqianhao | 来源:发表于2017-12-23 16:06 被阅读0次

1. 获取Class对象的三种方式:

1> Class.forName("完整的类名字符串");

完整类名字符串是指 包名.类名

2> 类名.class;

3> 指定类对象.getClass();

最常用的是Class.forName("完整的类名字符串");

后期大量使用

2. Constructor, Method, Field

都是Java反射这个包里面的类 java.lang.reflect

Constructor 是构造方法类

Method 是成员方法类

Field 是成员变量类

3. Constructor常用方法:

Constructor[] getConstructors(); 获取所有public修饰的构造方法

Constructor[] getDeclaredConstructors(); 获取当前类里面所有的构造方法,包含用private修饰的构造方法

Constructor getConstructor(Object... paramterTyeps);

根据所需参数不同,获取指定的构造方法对象

Constructor getDeclaredConstructor(Object... paramterTyeps);

根据所需参数不同,获取指定的构造方法对象,包括私有化的方法

Object newInstance(Object... initargs);

给予确定的参数,通过反射调用构造方法,这里的参数列表是一个不定参数列表

4. Method常用方法

Method[] getMethods();

获取当前类里面所有的public修饰的成员方法,这里或显示父类继承而来的public方法

Method[] getDeclaredMethods();

获取当前类里面的所有方法,包括private修饰的方法,但是会过滤父类继承而来的方法

Method getMethod(String methodName, Object... args);

根据方法的名字和对应的参数列表,获取指定方法

Method getDeclaredMethod(String methodName, Object... args);

根据方法的名字和对应的参数列表,获取指定方法,可以获取private修饰的方法

invoke(Object obj, Object... args);

执行成员方法的函数,第一个参数是执行该方法的类对象,第二个参数是执行该方法需要的参数列表

5. Field常用方法

Field[] getFields();

获取所有的用public修饰的成员变量

Field[] getDeclaredFields();

获取所用成员变量,包括用private 修饰的成员变量

Field getField(String fieldName);

根据成员变量的名字获取对应的成员变量

Field getDeclaredField(String fieldName);

根据成员变量的名字获取包括private修饰在内的成员变量

set(Object obj, Object value);

设置成员变量的数值,第一个参数是调用该成员变量的对象,第二个参数是赋予数值

6. 暴力反射赋予权限的函数

setAccessible(boolean )

相关文章

  • 博客地址

    java注解-01、java注解-02、Git面试资源java反射-01、java反射-02、java反射-03为...

  • Java反射机制入门

    Java反射机制入门 一、什么是反射 JAVA反射机制(The JAVA reflection mechanism...

  • Java基础之反射

    Java基础之—反射(非常重要)Java中反射机制详解Java进阶之reflection(反射机制)——反射概念与...

  • 反射之一

    总结内容源自一下文章粗浅看java反射机制反射机制应用实践谈谈java反射机制Java Reflection(反射...

  • 反射之二

    总结内容源自一下文章粗浅看java反射机制反射机制应用实践谈谈java反射机制Java Reflection(反射...

  • Java基础之反射

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

  • Java 反射机制

    Java 反射机制 什么是反射 Java 反射是Java语言的一个很重要的特征,它使得Java具体了“动态性”。 ...

  • 一探究竟:Java反射效率低的原因到底在哪?

    预备知识 了解 Java 反射基本用法 看完本文可以达到什么程度 了解 Java 反射原理及 Java 反射效率低...

  • 面试官说:大家都说 Java 反射效率低,你知道原因在哪里么

    预备知识 了解 Java 反射基本用法 看完本文可以达到什么程度 了解 Java 反射原理及 Java 反射效率低...

  • Java面试题之JavaSE高级

    一、Java中的反射 1.说说你对Java中反射的理解 java中的反射首先是能够获取到Java...

网友评论

      本文标题:Java反射

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