
Java反射系列
文章平均质量分 89
feigeswjtu
这个作者很懒,什么都没留下…
展开
-
Java反射之获取类的标识符
上一篇文章讲了如果获得一个类的类名,有没有什么办法可以获取到类的访问权限、是否是接口、是否是static类,是否final标识、是否strictfg标识等,获取类的注解等。 答案是肯定的。 访问权限、接口标识、static标识,final标识、strictfp标识等这些都是标识Class的标识符。 可以通过Class.getModifiers()获取,然后自己做遍历判断。 Class.get原创 2017-12-08 16:30:18 · 750 阅读 · 1 评论 -
Java反射之查找一个类
Java里面的类型是一个引用或者一个基本类型,类、枚举、或者数组都是继承于java.lang.Object,它们和接口一样都是引用类型,对于这些类型,JVM提供了方式可以在运行中获取对象对应类型,也就是它属于哪个Class。java.lang.class也提供了创建Class和Class对应的对象的方式。本文讲一下目前有哪儿些方式可以获取到一个类(Class)。所有的反射操作的切入点都是java.l原创 2017-12-07 21:43:20 · 2214 阅读 · 0 评论 -
Java反射之java.lang.reflect.Field
前面一章 讲了怎么通过Class获取到成员(成员变量、成员方法、构造器),本篇文章开始详细讲解成员变量(java.lang.reflect.Field)的详细用法。获取field的类型有两种方式可以获取到field的属性,Field.getType()和Field.getGenericType(),其中getGenericType可以获取到泛型的标识符,如果这个field是泛型,则返回泛型的标识,如原创 2017-12-30 10:45:35 · 6846 阅读 · 0 评论 -
Java反射之java.lang.reflect.Method
前一篇文章讲了Class中的成员变量(java.lang.reflect.Field)的常用使用方式以及其注意事项。我们接着讲Class中的方法(java.lang.reflect.Method)。介绍方法就是一段可执行的代码,可以是被继承而来的,也可以进行重载和重写,或者被编译器强制隐藏。但是相反的,反射代码是使方法选择被限制在一个特定的类中,而不考虑它的父类,虽然我们有办法查找到它的父类,但是这原创 2017-12-31 10:41:46 · 6516 阅读 · 0 评论 -
Java反射之java.lang.reflect.Constructor
我们知道每个类都至少有一个构造器,因为一个类如果没有显示定义一个构造器,编译器自动会自动生成一个默认无参的构造器,构造器作为一个类的入口方法,在使用类的成员变量和方法之前,类的构造器必须被调用,生成一个实例,另外构造器不能被继承,如果子类的构造器没有显示的调用父类的构造器,执行器会默认的调用父类的构造器。 说了这么多,我们该进入正题了,本文讲解一个反射中怎么获取一个构造器的声明、参数等信息,怎么原创 2018-01-14 10:42:24 · 5859 阅读 · 0 评论 -
Java反射之类成员
上一篇文章我们讲了怎么获取到类的标识符,比如类的访问权限、接口标识、static标识,final标识、strictfp标识等,下面我们继续跟着官方文档讲解一下怎么获取类的成员,类成员包括以下三种:成员变量、类方法(实例方法和类方法)、构造器(构造方法)。获取方式为了更好的描述,我们做个约定个通配符XXXX,如果是成员变量就代表Field,如果是类方法就代表Method,如果是构造器就代表Constructor原创 2017-12-30 10:18:36 · 619 阅读 · 0 评论