ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

反射具有哪些常用的API呢?

2022-07-03 19:38:02  阅读:148  来源: 互联网

标签:返回 反射 哪些 对象 对应 Field API boolean Class


转自:

http://www.java265.com/JavaCourse/202206/3838.html

下文笔者讲述反射常用API的简介说明,如下所示:

获取构造函数

Connstructor getConstructor(Class<?>... parameterTypes):
    返回此Class对象对应类的指定public构造器
Constructor<?>[] getConstructors():
    返回此Class对象对应类的所有public构造器。
Constructor getDeclaredConstructor(Class<?>... parameterTypes):
    返回此Class对象对应类的指定构造器,与构造器的访问权限无关
Constructor<?>[] getDeclaredConstructors():
    返回此Class对象对应类的所有构造器,与构造器的访问权限无关

获取方法

Method getDeclaredMethod(String name, Class<?>... parameterTypes):
    返回此Class对象对应类的指定方法,与方法的访问权限无关
Method[] getDeclaredMethods():
     返回此Class对象对应类的全部方法,与方法的访问权限无关

获取属性

Field getField(String name):
    返回此Class对象对应类的指定public Field
Field[] getFields():
    返回此Class对象对应类的所有public Field
Field getDeclaredField(String name):
     返回此Class对象对应类的指定Field,与Field的访问权限无关
Field[] getDeclaredFields():
     返回此Class对象对应类的全部Field,与Field的访问权限无关

获取Class对应类上所包含的注解

A getAnnotation(Class annotationClass):
    试图获取该Class对象对应类上指定类型的Annotation
	   如果该类型的注释不存在,则返回null
Annotation[] getAnnotations():
     返回该Class对象对应类上的所有Annotation 
Annotation[] getDeclaredAnnotations():
     返回直接修饰该Class对应类的所有Annotation

获取Class对象对应类包含的内部类

Class<?>[] getDeclaredClasses():
    返回该Class对象对应类里包含的全部内部类

获取Class对象对应类所在的外部类

Class<?> getDeclaringClass():
     返回该Class对象对应类所在的外部类

获取Class对象对应类所继承的父类、所实现的接口等

Class<?>[] getInterfaces():
    返回该Class对象对应类所实现的全部接口

获取Class对象对应类所继承的父类

Class<? super T> getSuperclass():
   返回该Class对象对应类的超类的Class对象

获取Class对象对应类的修饰符、所在包、类名等基本信息

int getModifiers():
     返回此类或接口的所有修饰符
    修饰符由public、protected、private、final、static、abstract等对应的常量组成
	 返回的整数应使用Modifier工具类的方法来解码,才可以获取真实的修饰符。
Package getPackage():
      获取此类的包
String getName():
      以字符串形式返回此Class对象所表示的类的名称
String getSimpleName():
      以字符串形式返回此Class对象所表示的类的简称

判断该类是否为接口、枚举、注释类型等

boolean isAnnotation():
    返回此Class对象是否表示一个注释类型(由@interface定义)
boolean isAnnotationPresent(Class<? extends Annotation> annotationClass):
    判断此Class对象是否使用了Annotation注释修饰
boolean isAnonymousClass():
    返回此Class对象是否是一个匿名类
boolean isArray():
    返回此Class对象是否表示一个数组类
boolean isEnum():
     返回此Class对象是否表示一个枚举(由enum关键字定义)
boolean isInterface():
     返回此Class对象是否表示一个接口(使用interface定义)
boolean isInstance(Object obj):
     判断obj是否是此Class对象的实例,该方法可以完全代替instanceof操作符

标签:返回,反射,哪些,对象,对应,Field,API,boolean,Class
来源: https://www.cnblogs.com/java265/p/16438902.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有