Java 反射 getClass(),最新 Java 大厂高频面试题
AnnotatedType getAnnotatedSuperclass?() //返回一个 AnnotatedType 对象,该对象表示使用类型指定此 Class 对象表示的实体的超类。
<A extends Annotation> A getAnnotation?(Class<A> annotationClass) //返回该元素的,如果这样的注释指定类型的注释本,否则返回 null。
Annotation[] getAnnotations?() //返回此元素上存在的注释。
<A extends Annotation> A[] getAnnotationsByType?(Class<A> annotationClass) //返回与此元素关联的注释。
String getCanonicalName?() //返回 Java 语言规范定义的基础类的规范名称。
Class<?>[] getClasses?() //返回一个包含 Class 对象的数组,这些对象表示所有公共类和接口,这些公共类和接口是此 Class 对象表示的类的成员。
ClassLoader getClassLoader?() //返回该类的类加载器。
Class<?> getComponentType?() //返回 Class 表示数组的组件类型的信息。
Constructor<T> getConstructor?(Class<?>... parameterTypes) //返回一个 Constructor 对象,该对象反映此 Class 对象表示的类的指定公共构造方法。
Constructor<?>[] getConstructors?() //返回一个包含 Constructor 对象的数组,这些对象反映此 Class 对象表示的类的所有公共构造 函数。
<A extends Annotation> A getDeclaredAnnotation?(Class<A> annotationClass) //如果直接存在此元素的注释,则返回指定类型的注释,否则返回 null。
Annotation[] getDeclaredAnnotations?() //返回直接存在于此元素上的注释。
<A extends Annotation> A[] getDeclaredAnnotationsByType?(Class<A> annotationClass) //如果直接存在或 间接存在,则返回指定类型的此元素的注释。
Class<?>[] getDeclaredClasses?() //返回一个 Class 对象数组,该对象反映了所有声明为该 Class 对象表示的类成员的所有类和接口。
Constructor<T> getDeclaredConstructor?(Class<?>... parameterTypes) //返回一个 Constructor 对象,该对象反映此 Class 对象表示的类或接口的指定构造 函数。
Constructor<?>[] getDeclaredConstructors?() //返回一个 Constructor 对象数组,该对象反映此 Class 对象表示的类声明的所有构造 函数。
Field getDeclaredField?(String name) //返回一个 Field 对象,该对象反映此 Class 对象表示的类或接口的指定声明字段。
Field[] getDeclaredFields?() //返回一个 Field 对象数组,该对象反映此 Class 对象表示的类或接口声明的所有字段 。
Method getDeclaredMethod?(String name, Class<?>... parameterTypes) //返回一个 Method 对象,该对象反映此 Class 对象表示的类或接口的指定声明方法 。
Method[] getDeclaredMethods?() //返回一个包含 Method 对象的数组,这些对象反映此 Class 对象表示的类或接口的所有已声明方法,包括公共,受保护,默认(程序包)访问和私有方法,但不包括继承的方法。
Class<?> getDeclaringClass?() //如果此 Class 对象表示的类或接口是另一个类的成员,则返回 Class 表示在其中声明该类的对象的对象。
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?() //返回由该对象表示的类或接口直接实现的接口。
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 当且仅当基础类是匿名类时才返回。
总结
就写到这了,也算是给这段时间的面试做一个总结,查漏补缺,祝自己好运吧,也希望正在求职或者打算跳槽的 程序员看到这个文章能有一点点帮助或收获,我就心满意足了。多思考,多问为什么。希望小伙伴们早点收到满意的 offer! 越努力越幸运!
金九银十已经过了,就目前国内的面试模式来讲,在面试前积极的准备面试,复习整个 Java 知识体系将变得非常重要,可以很负责任的说一句,复习准备的是否充分,将直接影响你入职的成功率。但很多小伙伴却苦于没有合适的资料来回顾整个 Java 知识体系,或者有的小伙伴可能都不知道该从哪里开始复习。我偶然得到一份整理的资料,不论是从整个 Java 知识体系,还是从面试的角度来看,都是一份含技术量很高的资料。
评论