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. 【转载】Vue.js 安装及其环境搭建

    注:最近在学习Vue,以下是环境搭配方法: ****************************************************************************** ...

  2. VMware Workstation虚拟机安装CentOS-7-Minimal经验分享

    本文主要为0基础的小白准备,有一定经验的大神请忽略.因为最近刚接触linux,在其中也是遇到无数的弯路,本着互惠互利原则,特写这个博客,希望后来人能少走点弯路,更快的进入状态.话不多说,上货. 一,首 ...

  3. springboot之jpa的支持

    1.springboot之jpa支持 2.Springboot+bootstrap界面版之增删改查及图片上传 springboot之jpa支持 导入相关pom依赖 <dependency> ...

  4. 【bzoj4671】异或图(容斥+斯特林反演+线性基)

    传送门 题意: 给出\(s,s\leq 60\)张图,每张图都有\(n,n\leq 10\)个点. 现在问有多少个图的子集,满足这些图的边"异或"起来后,这张图为连通图. 思路: ...

  5. error: [debug/qrc_resource.cpp] Error 1

    t在进行debug时,出现这个错误,去资源文件夹,用资源编辑器打开resource.qrc文件,查看是否有标红的资源文件. 如果有红色名称的资源文件,那么就是因为缺少该资源文件,导致的这个错误. 改正 ...

  6. 埃氏筛法(求n以内有哪些个质数)

    核心思想:从i=2开始,划去i的倍数,即剩下i为质数(如删去2的倍数后2为质数,再删去3的倍数后3为质数,4被删除则跳过,5未被删除则记录然后删除5的倍数...以此类推) #include <b ...

  7. Java连载56-toSting方法和equals方法

    一.关于object中的toString​方法: 1.SUN公司在Object类中设计toString方法的目的:返回java对象的字符串的表示形式. 2.在现实的开发过程中,Object里面的toS ...

  8. Java,该学什么?

    本人大学学的是生物技术专业,毕业后入坑Java. 最近有人问我是如何转行的,需要学一些什么.我在网上看到一篇帖子,觉得写得很全.如果是我来写,可能还写不了这么全的.在此分享给网友. 2019秋招几个月 ...

  9. LeetCode 771: 宝石与石头 Jewels and Stones

    题目: 给定字符串J 代表石头中宝石的类型,和字符串 S代表你拥有的石头. S 中每个字符代表了一种你拥有的石头的类型,你想知道你拥有的石头中有多少是宝石. You're given strings ...

  10. LinAlgError: Last 2 dimensions of the array must be square

    python 矩阵计算时出现错误 此时如果矩阵不是方阵,就会出现如下错误: 这里值得注意的是:当我们这样使用的时候,程序运行又会很正常: 貌似我们求得了非方阵的逆. 下面我们来验证一下: 仔细一看,这 ...