写点什么

Java 反射 getClass()

  • 2022 年 4 月 18 日
  • 本文字数:1948 字

    阅读完需:约 6 分钟

Class<?> getEnclosingClass?() //返回基础类的直接封闭类。


Constructor<?> getEnclosingConstructor?() //如果此 Class 对象表示构造函数中的本地或匿名类,则返回一个 Constructor 对象,该对象表示基础类的直接封闭的构造函数。


Method getEnclosingMethod?() //如果此 Class 对象表示方法中的本地或匿名类,则返回一个 Method 表示基础类的直接封闭方法的对象。


T[] getEnumConstants?() //返回此枚举类的元素;如果此 Class 对象不表示枚举类型,则返回 null。


Field getField?(String name) //返回一个 Field 对象,该对象反映此 Class 对象表示的类或接口的指定公共成员字段。


Field[] getFields?() //返回一个包含 Field 对象的数组,这些对象反映了此 Class 对象表示的类或接口的所有可访问公共字段。


Type[] getGenericInterfaces?() //返回 Types,它们表示由该对象表示的类或接口直接实现的接口。


Type getGenericSuperclass?() //返回 Type 由 this 表示的实体的直接超类(类,接口,原始类型或 void)Class。


Class<?>[] getInterfaces?() //返回由该对象表示的类或接口直接实现的接口 《一线大厂 Java 面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义》开源


Method getMethod?(String name, Class<?>... parameterTypes) //返回一个 Method 对象,该对象反映此 Class 对象表示的类或接口的指定公共成员方法 。


Method[] getMethods?() //返回一个包含 Method 对象的数组,这些对象反映了此 Class 对象表示的类或接口的所有公共方法,包括由类或接口声明的对象以及从超类和超接口继承的对象。


int getModifiers?() //返回此类或接口的 Java 语言修饰符,以整数编码。


Module getModule?() //返回该类或接口所属的模块。


String getName?() //返回此 Class 对象表示的实体的名称(类,接口,数组类,原始类型或 void),以表示 String。


Package getPackage?() //获取此类的包。


String getPackageName?() //返回标准软件包名称。


ProtectionDomain getProtectionDomain?() //返回 ProtectionDomain 此类的。


URL getResource?(String name) //查找具有给定名称的资源。


InputStream getResourceAsStream?(String name) //查找具有给定名称的资源。


Object[] getSigners?() //获取此类的签名者。


String getSimpleName?() //返回源代码中给定的基础类的简单名称。


Class<? super T> getSuperclass?() //返回 Class 由 this 表示的实体的直接超类(类,接口,原始类型或 void)Class。


String getTypeName?() //返回此类型名称的信息字符串。


TypeVariable<Class<T>>[] getTypeParameters?() //以声明顺序返回一个 TypeVariable 对象数组,这些对象数组表示此 GenericDeclaration 对象表示的通用声明所声明的类型变量 。


boolean isAnnotation?() //如果此 Class 对象表示注释类型,则返回 true 。


boolean isAnnotationPresent?(Class<? extends Annotation> annotationClass) //如果此元素上存在指定类型的注释,则返回 true ,否则返回 false。


boolean isAnonymousClass?() //true 当且仅当基础类是匿名类时才返回。


boolean is Java 开源项目【ali1024.coding.net/public/P7/Java/git】 Array?() //确定此 Class 对象是否代表数组类。


boolean isAssignableFrom?(Class<?> cls) //确定此 Class 对象表示 的类或接口是否与指定 Class 参数表示的类或接口相同或超类或超接口 。


boolean isEnum?() //当且仅当在源代码中将该类声明为枚举时,才返回 true。


boolean isInstance?(Object obj) //确定指定 Object 的对象是否与此 this 表示的对象赋值兼容 Class。


boolean isInterface?() //确定指定的 Class 对象是否代表接口类型。


boolean isLocalClass?() //true 当且仅当基础类是本地类时才返回。


boolean isMemberClass?() //true 当且仅当基础类是成员类时才返回。


boolean isPrimitive?() //确定指定的 Class 对象是否代表原始类型。


boolean isSynthetic?() //true 如果此类是综合类,则返回;否则,返回 false。false 否则返回。


T newInstance?() //不推荐使用。 此方法传播由 nullary 构造函数引发的任何异常,包括已检查的异常。使用此方法有效地绕过了编译时异常检查,否则该检查将由编译器执行。该 Constructor.newInstance 方法通过将构造函数抛出的任何异常包装在(选中)中来避免此问题 InvocationTargetException。


通话


clazz.newInstance() 可以替换为


clazz.getDeclaredConstructor().newInstance() //推断后面的调用顺序可以引发其他异常类型 InvocationTargetException 和 NoSuchMethodException。这两种异常类型都是的子类 ReflectiveOperationException。


String toGenericString?() //返回描述此字符串 Class,包括有关修饰符和类型参数的信息。

最后

手绘了下图所示的 kafka 知识大纲流程图(xmind 文件不能上传,导出图片展现),但都可提供源文件给每位爱学习的朋友



用户头像

还未添加个人签名 2022.04.13 加入

还未添加个人简介

评论

发布
暂无评论
Java 反射 getClass()_Java_爱好编程进阶_InfoQ写作平台