1、得到构造器的方法

  1. Constructor getConstructor(Class[] params) -- 获得使用特殊的参数类型的公共构造函数,
  2. Constructor[] getConstructors() -- 获得类的所有公共构造函数
  3. Constructor getDeclaredConstructor(Class[] params) -- 获得使用特定参数类型的构造函数(与接入级别无关)
  4. Constructor[] getDeclaredConstructors() -- 获得类的所有构造函数(与接入级别无关)

2、获得字段信息的方法

  1. Field getField(String name) -- 获得命名的公共字段
  2. Field[] getFields()--获得类的所有公共字段
  3. Field getDeclaredField(String name) --获得类声明的命名的字段
  4. Field[] getDeclaredFields()-- 获得类声明的所有字段

3、获得方法信息的方法

  1. Method getMethod(String name, Class[] params) -- 使用特定的参数类型,获得命名的公共方法
  2. Method[] getMethods() -- 获得类的所有公共方法
  3. Method getDeclaredMethod(String name, Class[] params) -- 使用特写的参数类型,获得类声明的命名的方法
  4. Method[] getDeclaredMethods() -- 获得类声明的所有方法
总结: ========>>>>>>>> 带有DeclaredMethod 获取本类私有方法 字段  不包括父类相关的值, 不带有的方法 只能获取本类public的字段 方法,以及父类相关的字段 方法

4:获取注解的方法

1. Annotation[] annotations = (Annotation[]) class1.getAnnotations();//获取class对象的所有注解 
2. Annotation annotation = (Annotation) class1.getAnnotation(Deprecated.class);//获取class对象指定注解
3. Type genericSuperclass = class1.getGenericSuperclass();//获取class对象的直接超类的
4. Type Type[] interfaceTypes = class1.getGenericInterfaces();//获取class对象的所有接口的type集合

5:其他扩展方法

  1. boolean isPrimitive = class1.isPrimitive();//判断是否是基础类型
  2. boolean isArray = class1.isArray();//判断是否是集合类
  3. boolean isAnnotation = class1.isAnnotation();//判断是否是注解类
  4. boolean isInterface = class1.isInterface();//判断是否是接口类
  5. boolean isEnum = class1.isEnum();//判断是否是枚举类
  6. boolean isAnonymousClass = class1.isAnonymousClass();//判断是否是匿名内部类
  7. boolean isAnnotationPresent = class1.isAnnotationPresent(Deprecated.class);//判断是否被某个注解类修饰
  8. String className = class1.getName();//获取class名字 包含包名路径
  9. Package aPackage = class1.getPackage();//获取class的包信息
  10. String simpleName = class1.getSimpleName();//获取class类名
  11. int modifiers = class1.getModifiers();//获取class访问权限
  12. Class<?>[] declaredClasses = class1.getDeclaredClasses();//内部类
  13. Class<?> declaringClass = class1.getDeclaringClass();//外部类
  14. getSuperclass():获取某类的父类
  15. getInterfaces():获取某类实现的接口

6. 具有的类型

  • ParameterizedType:表示一种参数化的类型,比如Collection< String >
  • GenericArrayType:表示一种元素类型是参数化类型或者类型变量的数组类型
  • TypeVariable:是各种类型变量的公共父接口
  • WildcardType:代表一种通配符类型表达式,比如?、? extends Number、? super Integer。(wildcard是一个单词:就是”通配符“)

Java反射方法总结的更多相关文章

  1. 【译】5. Java反射——方法

    原文地址:http://tutorials.jenkov.com/java-reflection/methods.html ====================================== ...

  2. Java反射-方法(Method)

    工作了三年,第二次使用反射! 遇到的问题描述: 多个页面查询后,返回的List中的对象属性为“.00”,页面显示不友好. 查询原因是因为查询数据的SQL为:to_char(a.applyAmount, ...

  3. Java 反射 方法调用

    在使用Java 反射时,对方法的调用,可能碰到最多的问题是,方法的变量如何使用.其实,调用方法的变量全部在参数数组里,不管有多少个参数,你都要把它放在参数数组里,如果是单个非数组参数,则可不使用参数数 ...

  4. java反射——方法

    大家都知道反射技术在Java里面时非常重要的一个技术点,因为Java好多框架的编写都是基于反射的,别的不多说,spring框架里面的IOC就是基于反射实现.那么什么是反射呢?JAVA反射机制是在运行状 ...

  5. java反射--方法反射的基本操作

    方法的反射 1)如何获取某个方法 方法的名称和方法的参数列表才能唯一决定某个方法. 2)方法反射的操作 method.invoke(对象,参数列表). 代码实例: package com.reflec ...

  6. 【译】7. Java反射——私有字段和私有方法

    原文地址:http://tutorials.jenkov.com/java-reflection/private-fields-and-methods.html =================== ...

  7. Java 反射机制学习资料

    Java反射——引言 Java反射——Class对象 Java反射——构造函数 Java反射——字段 Java反射——方法 Java反射——Getter和Setter Java反射——私有字段和私有方 ...

  8. Java反射——引言

    Java反射——引言 原文地址:http://tutorials.jenkov.com/java-reflection/index.html *By Jakob Jenkov Java的反射机制使得它 ...

  9. 【译】1. Java反射——引言

    原文地址:http://tutorials.jenkov.com/java-reflection/index.html *By Jakob Jenkov Java的反射机制使得它可以在运行时检查类.接 ...

随机推荐

  1. Oracle处理关于sysaux表空间爆满的问题---更新最新方法!!

    对于SYSAUX表空间而言,如果占用过大,那么一般情况下是由于AWR信息或对象统计信息没有及时清理引起的,具体原因可以通过如下的SQL语句查询: SELECT OCCUPANT_NAME ORDER ...

  2. XTTS Creates Alias on Destination when Source and Destination use ASM (Doc ID 2351123.1)

    XTTS Creates Alias on Destination when Source and Destination use ASM (Doc ID 2351123.1) APPLIES TO: ...

  3. s3c2440裸机-代码重定位、清bss的改进和位置无关码

    1.代码重定位的改进 用ldr.str代替ldrb, strb加快代码重定位的速度. 前面重定位时,我们使用的是ldrb命令从的Nor Flash读取1字节数据,再用strb命令将1字节数据写到SDR ...

  4. unittest---unittest断言

    在unittest单元测试中也提供了断言的方式,通过断言判断用例有没有成功. unittest常用断言 unittest框架的TestCase类提供以下方法用于测试结果的判断 方法 检查 assert ...

  5. csp2019后的感慨

    你还记得曾经加入oi的初衷吗? ... 我们都不想输,可谁都没有赢... --前言 没有太大的感想,也不配去写感想...就记录一下初学者失败的原因吧.希望看过的人能引以为戒. 做题的时候,不到万不得已 ...

  6. 关于操作服务器上tomcat的常用linux指令

    ll:     列出目录下的所有文件 cd:切换目录 pwd:显示目前的目录 grep  xxxxxx catalina.out    查询文件中关于某个信息的内容 grep -3  xxxxxxca ...

  7. springboot 多环境

    springboot 多环境 --spring.profiles.active=dev 查看 Ioc 容器 PostProcessorRegistrationDelegate

  8. Web前端基础(13):JavaScript(七)

    1. BOM JavaScript基础分为三部分: ECMAScript:JavaScript的语法标准.包括变量.表达式.运算符.函数.if语句.for语句等. DOM:文档对象模型,操作网页上的元 ...

  9. ebs oracle YTD期间费用

    select PERIOD_NAME, SEGMENT3, SEGMENT3_DESC, sum(case when SEGMENT2 = '1011' then ACCOUNTED_ACCRUAL ...

  10. [转]VB.net中 excel 的range方法

    本文转自:https://blog.csdn.net/bigheadsheep/article/details/7711235 第五章 Range对象基本操作应用示例(1)Range对象可能是VBA代 ...