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类型(boolean、、bytecharshort、、longint、和doublefloat)以及关键字void也表示为Class对象。

Class 没有公共构造函数。 Class相反,当类通过调用以下方法之一从文件的字节class派生时,Java虚拟机自动构造对象: <ul><li>ClassLoader#defineClass(String, byte[], int, int) ClassLoader::defineClass</ul>

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

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

<blockquote>

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

</blockquote>

还可以使用类文本获取Class命名类或接口(或接口void)的对象。 例如:

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

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

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

在 1.0 中添加。

适用于 . 的 java.lang.ClassJava 文档

本页的某些部分是根据 Android 开放源代码项目创建和共享的工作进行的修改,并根据 Creative Commons 2.5 属性许可证中所述的术语使用。

字段

名称 说明
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

{ }

JniIdentityHashCode

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

(继承自 Object)
JniPeerMembers

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

Modifiers

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

Name

返回由此 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, Boolean, ClassLoader)

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

ForName(String)

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

FromType(Type)

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

GetAnnotation(Class)

要添加

GetAnnotations()

要添加

GetAnnotationsByType(Class)

要添加

GetClasses()

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

GetConstructor(Class[])

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

GetConstructors()

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

GetDeclaredAnnotation(Class)

要添加

GetDeclaredAnnotations()

要添加

GetDeclaredAnnotationsByType(Class)

要添加

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由此 Class 对象表示的类或接口直接实现的接口的 s。

GetHashCode()

返回对象的哈希代码值。

(继承自 Object)
GetInterfaces()

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

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()

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

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, Int32)

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

(继承自 Object)
Wait(Int64)

使当前线程等待直到唤醒,通常是通过 <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 应用程序中的类和接口。

扩展方法

名称 说明
GetJniTypeName(IJavaPeerable)

获取实例 self类型的 JNI 名称。

JavaAs<TResult>(IJavaPeerable)

尝试强制self键入TResult,检查强制是否在Java端有效。

JavaCast<TResult>(IJavaObject)

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

JavaCast<TResult>(IJavaObject)

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

TryJavaCast<TResult>(IJavaPeerable, TResult)

尝试强制self键入TResult,检查强制是否在Java端有效。

适用于