Java 反射 getClass()
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 文件不能上传,导出图片展现),但都可提供源文件给每位爱学习的朋友
评论