Java Class类

2025年3月21日 | 阅读 6 分钟

Java Class类实例代表正在运行的java应用程序中的类和接口。每个数组都属于一个Class对象,它由所有数组(具有相同的元素类型和维度数)共享。

方法

方法描述
asSubclass(Class<U> clazz)它将此Class对象强制转换为表示给定Class对象所代表类的子类。
cast(Object obj)它将一个对象强制转换为此Class对象所代表的类或接口。
desiredAssertionStatus()它返回在此方法被调用时,如果该类被初始化,将分配给该类的断言状态。
forName(String className)它返回与具有指定字符串名称的类或接口关联的Class对象。
forName(String name, boolean initialize,ClassLoader loader)它使用给定的类加载器返回与具有指定字符串名称的类或接口关联的Class对象。
getAnnotatedInterfaces()它返回一个 AnnotatedType 对象数组,表示类型的使用,以指定此 Class 对象所代表实体的超接口。
getAnnotatedSuperclass()它返回一个 AnnotatedType 对象,表示类型的使用,以指定此 Class 对象所代表实体的超类。
getAnnotation(Class<A> annotationClass)此方法返回此元素给定类型的注解,如果存在此类注解,否则返回 null。
getAnnotations()此方法返回此元素上存在的注解。
getAnnotationsByType(Class<A>annotationClass)此方法返回与此元素关联的注解。
getCanonicalName()它返回底层类的规范名称,由 Java 语言规范定义。
getClasses()它返回一个包含 Class 对象的数组,这些对象表示作为该类成员且由此 Class 对象表示的所有公共接口和类。
getClassLoader()此方法返回该类的类加载器。
getComponentType()此方法返回表示数组组件类型的 Class。
getConstructor(Class<?>... parameterTypes)它返回一个 Constructor 对象,该对象反映此 Class 对象所代表类的指定公共构造函数。
getConstructors()它返回一个数组,其中包含 Constructor 对象,反映此 Class 对象所代表类的所有公共构造函数。
getDeclaredAnnotation(Class<A>annotationClass)如果直接存在此类注解,则返回此元素指定类型的注解,否则返回 null。
getDeclaredAnnotations()它返回此元素上存在的注解。
getDeclaredAnnotationsByType(Class<A> annotationClass)如果直接或间接存在此类注解,则返回此元素指定类型的注解。
getDeclaredClasses()它返回一个 Class 对象数组,反映作为此 Class 对象所代表类成员声明的所有接口和类。
getDeclaredConstructor(Class<?>... parameterTypes)它返回一个 Constructor 对象,该对象反映 Class 对象所代表类或接口的给定构造函数。
getDeclaredConstructors()它返回一个 Constructor 对象数组,反映此 Class 对象所代表类声明的所有构造函数。
getDeclaredField(String name)它返回一个 Field 对象,该对象反映 Class 对象所代表类或接口的声明字段。
getDeclaredMethod(String name, Class<?>... parameterTypes)它返回一个 Method 对象,该对象反映此 Class 对象所代表类或接口的给定声明方法。
getDeclaringClass()它返回此 Class 对象所代表的类或接口(它是另一个类的成员),以及表示声明它的类的 Class 对象。
getEnclosingClass()它返回底层类的直接包围类。
getEnclosingConstructor()如果调用的 Class 对象表示构造函数中的局部或匿名类,则它返回一个 Constructor 对象,表示底层类的直接包围构造函数。
getEnclosingMethod()如果调用的 Class 对象表示方法中的局部或匿名类,则它返回一个 Method 对象,表示底层类的直接包围方法。
getEnumConstants()它返回此枚举类的元素,如果此 Class 对象不表示枚举类型,则返回 null。
getField(String name)它返回一个 Field 对象,该对象反映此 Class 对象所代表接口或类的指定公共成员字段。
getFields()它返回一个包含 Field 对象的数组,反映此 Class 对象所代表接口或类的所有可访问公共字段。
getGenericInterfaces()返回表示此对象直接实现的接口的 Types
getGenericSuperclass()返回表示此 Class 所代表实体(类、接口、原始类型或 void)的直接超类的 Type。
getInterfaces()它确定此对象所代表的接口或类实现的接口。
getMethod(String name, Class<?>... parameterTypes)它返回一个方法对象,该对象给出指定的公共
此 Class 对象所代表接口或类的成员方法
getMethods()它返回一个包含 Method 对象的数组,反映此 Class 对象所代表类或接口的所有公共方法。它还包括类或接口的声明方法,以及从超类和超接口继承的方法
getModifiers()它以整数编码形式返回此类或接口的Java语言修饰符。
getName()它以字符串形式返回此Class对象所代表的实体的名称。
getPackage()它只获取此类的包。
getProtectionDomain()它返回此类的保护域。
getResource(String name)此方法搜索具有给定名称的资源。
getResourceAsStream(String name)此方法搜索具有给定名称的资源。
getSigners()它返回此类的签名者。
getSimpleName()此方法返回底层类的名称,如源代码中所示。
getSuperclass()此方法返回表示此 Class 所代表实体的超类的 Class。
getTypeName()此方法为此类型的名称返回一个信息性字符串。
getTypeParameters()它返回一个 TypeVariable 对象数组,这些对象表示此 GenericDeclaration 对象所代表的泛型声明按声明顺序声明的类型变量。
isAnnotation()如果此Class对象表示注解类型,则此方法返回布尔值'true'。
isAnnotationPresent(Class<? extendsAnnotation> annotationClass)此方法返回布尔值'true',如果此元素上存在注解,否则返回false。
isAnonymousClass()此方法返回布尔值'true',当且仅当底层类是匿名类时。
isArray()此方法确定此Class对象是否表示数组类。
isAssignableFrom(Class<?> cls)此方法检查此Class对象所代表的接口或类是否与给定Class参数所代表的类或接口相同、是其超类或超接口。
isEnum()它返回一个布尔值'true',当且仅当该类在源代码中被声明为枚举时。
isInstance(Object obj)它检查指定的对象是否与此Class所代表的对象赋值兼容。
isInterface()它检查给定的Class对象是否表示接口类型。
isLocalClass()如果底层类是局部类,则此方法返回布尔值'true'。
isMemberClass()如果底层类是成员类,则此方法返回布尔值'true'。
isPrimitive()此方法检查指定的Class对象是否表示原始类型。
isSynthetic()如果此类是合成类,则此方法返回布尔值'true',否则返回false。
newInstance()此方法创建此Class对象所代表类的新实例。
toGenericString()此方法返回描述此Class的字符串,包括有关修饰符和类型参数的信息。
toString()此方法将对象转换为字符串。

示例 1

输出

Class represented by class1: class java.lang.String
Class represented by class2: int
is p instance of String : true
is j instance of String : false
 
下一个主题Java类