Class 类

定义

Class 的实例表示正在运行的 Java 应用程序中的类和接口。

[Android.Runtime.Register("java/lang/Class", DoNotGenerateAcw=true)]
[Java.Interop.JavaTypeParameters(new System.String[] { "T" })]
public sealed class Class : Java.Lang.Object, IDisposable, Java.Interop.IJavaPeerable, Java.IO.ISerializable, Java.Lang.Invoke.ITypeDescriptor.IOfField, Java.Lang.Reflect.IGenericDeclaration, Java.Lang.Reflect.IType
[<Android.Runtime.Register("java/lang/Class", DoNotGenerateAcw=true)>]
[<Java.Interop.JavaTypeParameters(new System.String[] { "T" })>]
type Class = class
    inherit Object
    interface ISerializable
    interface IJavaObject
    interface IDisposable
    interface IJavaPeerable
    interface ITypeDescriptor.IOfField
    interface ITypeDescriptor
    interface IGenericDeclaration
    interface IAnnotatedElement
    interface IType
继承
Class
属性
实现

注解

Class 的实例表示正在运行的 Java 应用程序中的类和接口。 枚举类型是一种类,批注类型是一种接口。 每个数组还属于一个类,该类反射为 Class 对象,该对象由具有相同元素类型和维度数的所有数组共享。 基元 Java 类型 (booleanbytecharshortintlongfloatdouble) ,关键字 (keyword) void也表示为 Class 对象。

Class 没有公共构造函数。 相反,当类加载程序调用其中一ClassLoader#defineClass(String,byte[], int,int) defineClassClass方法并传递文件的字节class时,Java 虚拟机会自动构造 对象。

Class 的方法公开类或接口的许多特征。 大多数特征派生自 class 类加载程序传递给 Java 虚拟机的 文件。 一些特征由类在运行时加载环境决定。

Class的一些方法公开 Java 源代码<<>>中类或接口的声明是否包含在另一个声明中。 其他方法描述类或接口在 em>nest</em> 中<的位置。 “nest”>嵌套是同一运行时包中的一组类和接口,允许相互访问其 private 成员。 类和接口称为 <em>nestmates</em>。 一个 nestmate 充当 <em>nest host</em>,并枚举属于该嵌套的其他嵌套对象;每个嵌套伙伴又将其记录为嵌套主机。 属于嵌套的类和接口(包括其主机)是在生成文件时确定 class 的,例如,Java 编译器通常会将顶级类记录为嵌套的主机,其中其他成员是声明包含在顶级类声明中的类和接口。

以下示例使用 对象 Class 打印对象的类名:

<blockquote>

void printClassName(Object obj) {
                    System.out.println("The class of " + obj +
                                       " is " + obj.getClass().getName());
                }

</blockquote>

还可以使用类文本获取 Class 命名类型 (或 void) 的对象。 请参阅引用>Java&贸易的第 <15.8.2 节;语言规范</引用>。 例如:

<blockquote>System.out.println("The name of class Foo is: "+Foo.class.getName());</blockquote>

Class的一些方法公开 Java 源代码<<>>中类或接口的声明是否包含在另一个声明中。 其他方法描述类或接口在 em>nest</em> 中<的位置。 “nest”>嵌套是同一运行时包中的一组类和接口,允许相互访问其 private 成员。 类和接口称为 <em>nestmates</em>。 一个 nestmate 充当 <em>nest host</em>,并枚举属于该嵌套的其他嵌套对象;每个嵌套伙伴又将其记录为嵌套主机。 属于嵌套的类和接口(包括其主机)是在生成文件时确定 class 的,例如,Java 编译器通常会将顶级类记录为嵌套的主机,其中其他成员是声明包含在顶级类声明中的类和接口。

在 1.0 中添加。

java.lang.ClassJava 文档。

此页面的部分内容是基于 创建和共享的工作进行的修改,并根据 署名许可中所述的术语使用。

字段

CharSequence

Class 的实例表示正在运行的 Java 应用程序中的类和接口。

Object

Class 的实例表示正在运行的 Java 应用程序中的类和接口。

String

Class 的实例表示正在运行的 Java 应用程序中的类和接口。

属性

CanonicalName

返回 Java 语言规范所定义的基础类的规范名称。

Class

返回此 Object的运行时类。

(继承自 Object)
ClassLoader

返回类的类加载程序。

ComponentType

返回表示 Class 数组的组件类型的 。

DeclaringClass

如果此 Class 对象表示的类或接口是另一个类的成员,则 Class 返回表示声明它的类的对象。

EnclosingClass

返回基础类的直接封闭类。

EnclosingConstructor

如果此 Class 对象表示构造函数中的本地类或匿名类,则 返回一个 java.lang.reflect.Constructor Constructor 对象,该对象表示基础类的直接封闭构造函数。

EnclosingMethod

如果此 Class 对象表示方法中的本地类或匿名类,则 返回一个 java.lang.reflect.Method Method 对象,该对象表示基础类的直接封闭方法。

GenericSuperclass

返回表示 Type 实体的直接超类 (类、接口、基元类型或由此 Class表示的 void) 。

Handle

基础 Android 实例的句柄。

(继承自 Object)
IsAnnotation

如果此 Class 对象表示批注类型,则返回 true。

IsAnonymousClass

true当且仅当基础类是匿名类时,返回 。

IsArray

确定此 Class 对象是否表示数组类。

IsEnum

当且仅当此类在源代码中声明为枚举时,才返回 true。

IsInterface

确定指定的 Class 对象是否表示接口类型。

IsLocalClass

true当且仅当基础类是本地类时,返回 。

IsMemberClass

true当且仅当基础类是成员类时,返回 。

IsPrimitive

确定指定的 Class 对象是否表示基元类型。

IsRecord

true当且仅当此类是记录类时,返回 。

IsSealed

true当并且仅当此Class对象表示密封的类或接口时,返回 。

IsSynthetic

true如果此类是合成类,则返回 ;否则返回 false

JniIdentityHashCode

Class 的实例表示正在运行的 Java 应用程序中的类和接口。

(继承自 Object)
JniPeerMembers

Class 的实例表示正在运行的 Java 应用程序中的类和接口。

Modifiers

返回此类或接口的 Java 语言修饰符,以整数编码。

Name

以 形式String返回由此 Class 对象表示的实体 (类、接口、数组类、基元类型或 void) 的名称。

NestHost

返回由此 Class 对象表示的类或接口所属的嵌套的嵌套宿主。

Package

获取此类的包。

PackageName

返回完全限定的包名称。

PeerReference

Class 的实例表示正在运行的 Java 应用程序中的类和接口。

(继承自 Object)
ProtectionDomain

返回 ProtectionDomain 此类的 。

SimpleName

返回源代码中给定的基础类的简单名称。

Superclass

返回表示 Class 实体的直接超类 (类、接口、基元类型或由此 Class表示的 void) 。

ThresholdClass

此 API 支持 Mono for Android 基础结构,不应直接从代码中使用。

(继承自 Object)
ThresholdType

此 API 支持 Mono for Android 基础结构,不应直接从代码中使用。

(继承自 Object)
TypeName

返回此类型的名称的信息性字符串。

方法

ArrayType()

返回 Class 一个数组类型的 ,该数组类型的组件类型由此类描述。

AsSubclass(Class)

强制转换此 Class 对象以表示由指定的类对象表示的类的子类。

Cast(Object)

将对象强制转换为由此 Class 对象表示的类或接口。

Clone()

创建并返回此对象的副本。

(继承自 Object)
DescriptorString()

返回此 Class 对象表示的实体 (类、接口、数组类、基元类型或 void) 的描述符字符串。

DesiredAssertionStatus()

返回将分配给此类的断言状态(如果在调用此方法时进行初始化)。

Dispose()

Class 的实例表示正在运行的 Java 应用程序中的类和接口。

(继承自 Object)
Dispose(Boolean)

Class 的实例表示正在运行的 Java 应用程序中的类和接口。

(继承自 Object)
Equals(Object)

指示某个其他对象是否“等于”此对象。

(继承自 Object)
ForName(String)

返回与 Class 具有给定字符串名称的类或接口关联的 对象。

ForName(String, Boolean, ClassLoader)

使用给定的 Class 类加载程序返回与具有给定字符串名称的类或接口关联的对象。

FromType(Type)

Class 的实例表示正在运行的 Java 应用程序中的类和接口。

GetAnnotation(Class)

在 1 中添加。

GetAnnotations()

在 1 中添加。

GetAnnotationsByType(Class)

在 1 中添加。

GetClasses()

返回一个数组,该数组包含 Class 表示此 Class 对象所表示的类成员的所有公共类和接口的对象。

GetConstructor(Class[])

返回一个 Constructor 对象,该对象反映由此 Class 对象表示的类的指定公共构造函数。

GetConstructors()

返回一个数组,该数组包含 Constructor 反映由此 Class 对象表示的类的所有公共构造函数的对象。

GetDeclaredAnnotation(Class)

在 1 中添加。

GetDeclaredAnnotations()

在 1 中添加。

GetDeclaredAnnotationsByType(Class)

在 1 中添加。

GetDeclaredClasses()

返回对象的数组 Class ,这些对象反映声明为此 Class 对象所表示的类的成员的所有类和接口。

GetDeclaredConstructor(Class[])

返回一个 Constructor 对象,该对象反映由此 Class 对象表示的类或接口的指定构造函数。

GetDeclaredConstructors()

返回对象的数组 Constructor ,这些对象反映由此 Class 对象表示的类声明的所有构造函数。

GetDeclaredField(String)

返回一个 Field 对象,该对象反映由此 Class 对象表示的类或接口的指定声明字段。

GetDeclaredFields()

返回对象的数组 Field ,这些对象反映由此 Class 对象表示的类或接口声明的所有字段。

GetDeclaredMethod(String, Class[])

返回一个 Method 对象,该对象反映由此 Class 对象表示的类或接口的指定声明方法。

GetDeclaredMethods()

返回一个数组,该数组包含 Method 一个对象,这些对象反映由此 Class 对象表示的类或接口的所有声明方法,包括公共的、受保护的、默认 (包) 访问,以及私有方法,但不包括继承的方法。

GetEnumConstants()

如果此类对象不表示枚举类型,则返回此枚举类的元素或 null。

GetField(String)

返回一个 Field 对象,该对象反映由此 Class 对象表示的类或接口的指定公共成员字段。

GetFields()

返回一个数组,该数组包含 Field 反映此 Class 对象所表示的类或接口的所有可访问公共字段的对象。

GetGenericInterfaces()

返回表示 Type由此 对象表示的类或接口直接实现的接口的 。

GetHashCode()

返回对象的哈希代码值。

(继承自 Object)
GetInterfaces()

返回由此 对象表示的类或接口直接实现的接口。

GetMethod(String, Class[])

返回一个 Method 对象,该对象反映由此 Class 对象表示的类或接口的指定公共成员方法。

GetMethods()

返回一个数组,该数组包含 Method 反映此 Class 对象所表示的类或接口的所有公共方法,包括类或接口声明的方法以及从超类和超接口继承的那些方法。

GetNestMembers()

返回一个数组,该数组包含 Class 表示所有类和接口的 对象,这些类和接口是该 Class 对象所表示的类或接口所属的嵌套的成员。

GetPermittedSubclasses()

返回一个数组,该数组包含 Class 表示允许扩展或实现此类或接口(如果密封)的直接子接口或子类的对象。

GetRecordComponents()

如果此类不是记录类,则返回一个由 对象构成的 RecordComponent 数组, null 该数组表示此记录类的所有记录组件。

GetResource(String)

查找具有给定名称的资源。

GetResourceAsStream(String)

查找具有给定名称的资源。

GetSigners()

获取此类的签名者。

GetTypeParameters()

返回对象的数组 TypeVariable ,这些对象表示此 GenericDeclaration 对象所表示的泛型声明所声明的类型变量(按声明顺序)。

InvokeComponentType()

如果它描述数组类型,则返回此 Class的组件类型, null 否则返回 。

IsAnnotationPresent(Class)

要添加

IsAssignableFrom(Class)

确定此 Class 对象表示的类或接口是否与指定参数所表示的类或接口相同,或者是其 Class 超类或超接口。

IsInstance(Object)

确定指定的 Object 是否与此 Class表示的对象赋值兼容。

IsNestmateOf(Class)

确定给定 Class 的 是否为此 对象表示的类或接口的 Class 嵌套。

JavaFinalize()

当垃圾回收确定不再引用对象时,由垃圾回收器对对象调用。

(继承自 Object)
NewInstance()

创建由此 Class 对象表示的 类的新实例。

Notify()

唤醒正在等待此对象的监视器的单个线程。

(继承自 Object)
NotifyAll()

唤醒正在等待此对象的监视器的所有线程。

(继承自 Object)
SetHandle(IntPtr, JniHandleOwnership)

设置 Handle 属性。

(继承自 Object)
ToArray<T>()

Class 的实例表示正在运行的 Java 应用程序中的类和接口。

(继承自 Object)
ToGenericString()

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

ToString()

返回对象的字符串表示形式。

(继承自 Object)
UnregisterFromRuntime()

Class 的实例表示正在运行的 Java 应用程序中的类和接口。

(继承自 Object)
Wait()

导致当前线程等待,直到它被唤醒,通常是通过 em <通知/em> 或 <em>interrupted</em>。<>

(继承自 Object)
Wait(Int64)

导致当前线程等待,直到它被唤醒,通常是通过 em <通知/em> 或 <em>interrupted</em>,或直到经过一定数量的实时。<>

(继承自 Object)
Wait(Int64, Int32)

导致当前线程等待,直到它被唤醒,通常是通过 em <通知/em> 或 <em>interrupted</em>,或直到经过一定数量的实时。<>

(继承自 Object)

显式接口实现

IJavaPeerable.Disposed()

Class 的实例表示正在运行的 Java 应用程序中的类和接口。

(继承自 Object)
IJavaPeerable.DisposeUnlessReferenced()

Class 的实例表示正在运行的 Java 应用程序中的类和接口。

(继承自 Object)
IJavaPeerable.Finalized()

Class 的实例表示正在运行的 Java 应用程序中的类和接口。

(继承自 Object)
IJavaPeerable.JniManagedPeerState

Class 的实例表示正在运行的 Java 应用程序中的类和接口。

(继承自 Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

Class 的实例表示正在运行的 Java 应用程序中的类和接口。

(继承自 Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

Class 的实例表示正在运行的 Java 应用程序中的类和接口。

(继承自 Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

Class 的实例表示正在运行的 Java 应用程序中的类和接口。

(继承自 Object)
ITypeDescriptor+IOfField.ComponentType()

Class 的实例表示正在运行的 Java 应用程序中的类和接口。

扩展方法

JavaCast<TResult>(IJavaObject)

执行 Android 运行时检查的类型转换。

JavaCast<TResult>(IJavaObject)

Class 的实例表示正在运行的 Java 应用程序中的类和接口。

GetJniTypeName(IJavaPeerable)

Class 的实例表示正在运行的 Java 应用程序中的类和接口。

适用于