到顶部
Android API
公众的最终

等级

延伸对象
实施可序列化 带注释的元素 通用声明 类型
java.lang.Object(java.lang.对象)
java.lang.Class类

课程概述

Java类的内存表示。此表示用作查询类相关信息的起点,通常是一个过程称为“反射”。基本上有三种类型等级实例:表示真实类和接口的实例,表示基元类型,以及那些表示数组类的基元类型。

表示对象类型(类或接口)的类实例

它们表示类中的普通类或接口等级制度。与这些关联的名称等级实例很简单它表示的类或接口的完全限定类名。除了这个人类可读的名称之外,每个类还通过所谓的签名,即字母“L”,后跟类名和分号(“;”)。签名是运行时系统在内部用于标识类(例如在DEX文件中)。

表示基元类型的类

它们表示标准Java原语类型,因此共享它们的名称(例如,“int”表示整数基元类型)。尽管如此无法基于这些创建新实例等级实例,它们对于提供反射信息仍然很有用,并且作为数组类的组件类型。有一个等级每个实例基元类型,其签名为:

  • B类代表字节基元类型
  • S公司代表短的基元类型
  • 代表整数基元类型
  • J型代表长的基元类型
  • F类代表浮动基元类型
  • D类代表双重的基元类型
  • C类代表烧焦基元类型
  • Z轴代表布尔值基元类型
  • 表示void函数返回值

表示数组类的类

这些表示Java数组的类。有一个这样的等级每个数组叶组件类型和arity组合的实例(数量尺寸)。在这种情况下,与等级由一个或多个左方括号组成(数组中每个维度一个)然后是表示叶组件类型的类的签名,可以是对象类型或基元类型。签名等级表示数组类型与其名称相同。示例数组类签名的为:

  • [我代表整数[]类型
  • [Ljava/lang/String;代表字符串[]类型
  • [[[C(C)]代表字符[][][]类型(三维!)

总结

公共方法
<U>等级<?扩展U> 作为子类(等级<U> c)
铸造这个等级表示给定类的子类。
T型 铸造(对象对象)
将给定的对象强制转换为由等级
布尔值 所需断言状态()
返回由此表示的类的断言状态等级
静止的等级<?> 用于名称(字符串className,布尔值shouldInitialize,类装载器类加载器)
返回一个等级对象,该对象用名字。
静止的等级<?> 用于名称(字符串类名称)
返回一个等级对象,该对象用名字。
<A延伸注释>A类 获取注释(等级<A> 注释类型)
注释[] 获取注释()
返回包含此类所有注释的数组。
字符串 获取规范名称()
返回此类的规范名称。
类装载器 获取类加载器()
返回用于加载由等级
类别[]<?> 获取类()
返回包含等级所有公共类的对象以及属于此类成员的接口。
等级<?> 获取组件类型()
返回一个等级表示组件类型的对象,如果此类表示数组类型。
施工单位<T> 获取构造函数(类。。。<?> 参数类型)
返回一个施工单位代表公众的对象匹配给定参数类型的构造函数。
建造师[]<?> 获取构造函数()
返回包含施工单位所有公共对象此的构造函数等级
注释[] 获取声明的注释()
返回直接在类上定义的注释由以下内容表示等级
类别[]<?> 获取声明类()
返回包含等级所有类的对象和声明为该类的成员的接口等级代表。
施工单位<T> 获取声明的构造函数(类。。。<?> 参数类型)
返回一个施工单位表示构造函数的对象匹配类声明的给定参数类型由以下内容表示等级
建造师[]<?> 获取声明的构造函数()
返回包含施工单位所有对象在此表示的类中声明的构造函数等级
字段 获取声明字段(字符串名称)
返回一个字段具有给定名称的字段的对象它是在这个表示的类中声明的等级
字段[] 获取声明字段()
返回包含字段声明的所有字段的对象在这个类中等级
方法 获取声明方法(字符串名称,类。。。<?> 参数类型)
返回一个方法对象,该对象表示匹配类声明的给定名称和参数类型由这个代表等级
方法[] 获取声明的方法()
返回一个数组,该数组包含方法所有方法的对象在此表示的类中声明等级
等级<?> 获取声明类()
返回声明等级这个的等级
等级<?> 获取封闭类()
返回封闭等级这个的等级
施工单位<?> 获取封闭构造函数()
返回封闭施工单位这个的等级,如果是匿名或本地/自动类;否则无效的
方法 获取封闭方法()
返回封闭方法这个的等级,如果是匿名或本地/自动类;否则无效的
T【】 获取枚举常量()
返回枚举与此关联的常量等级
字段 获取字段(字符串名称)
返回一个字段对象,该对象用名字。
字段[] 获取字段()
返回包含字段所有公共字段的对象代表的C类等级
类型[] 获取通用接口()
返回类型的接口等级直接地实现。
类型 获取通用超类()
返回类型表示此的超类
类别[]<?> 获取接口()
返回的数组等级与接口匹配的对象在中实施所代表类的声明通过这个等级
方法 获取方法(字符串名称,类。。。<?> 参数类型)
返回一个方法对象,该对象用表示公共方法给定的名称和参数类型。
方法[] 获取方法()
返回包含方法所有公共方法的对象代表的C类等级
整数 获取修改器()
返回表示所表示类的修饰符的整数通过这个等级
字符串 获取名称()
返回此等级
包裹 获取程序包()
返回包裹其中此所表示的类等级是成员。
保护域 获取保护域()
返回null。
统一资源定位地址 获取资源(字符串资源名称)
返回给定资源的URL,如果找不到该资源,则返回null。
InputStream(输入流) 获取资源作为流(字符串资源名称)
返回给定资源内容的只读流,如果资源找不到。
对象[] 获取签名者()
返回null。
字符串 获取简单名称()
返回由这个表示的类的简单名称等级作为在源代码中定义。
等级<?超级T> 获取超类()
返回等级对象的超类由此表示的类等级
已同步类型变量[]<等级<T> > 获取类型参数()
返回包含类型变量类型的对象由此表示的泛型类声明的变量等级
布尔值 isAnnotation(注释)()
测试这是否等级表示注释类。
布尔值 是注解存在(等级<?延伸注释>注释类型)
指示此元素是否具有带指定的批注类型(包括继承的批注)。
布尔值 是匿名类()
测试此等级匿名。
布尔值 isArray(is阵列)()
测试此等级是一个数组类。
布尔值 可分配自(等级<?> c)
测试给定的类类型是否可以转换为类由以下内容表示等级
布尔值 isEnum(isEnum)()
测试此等级是一个枚举
布尔值 is实例(对象对象)
测试给定对象是否可以强制转换为类由以下内容表示等级
布尔值 IS接口()
测试是否等级表示接口。
布尔值 isLocalClass(本地类)()
测试此表示的类等级已定义本地。
布尔值 是成员类()
测试此等级是成员类。
布尔值 是基本的()
测试这是否等级表示基元类型。
布尔值 是合成的()
测试这是否等级表示合成类型。
T型 新实例()
返回此等级,通过调用默认(即零参数)构造函数创建。
字符串 toString(字符串)()
返回一个字符串,该字符串包含此对象。
[展开]
继承的方法
来自班级java.lang.Object(java.lang.对象)
来自接口java.lang.reflect。带注释的元素
来自接口java.lang.reflect。通用声明

公共方法

公众的等级<?扩展U> 作为子类 (等级<U> c)

已在中添加API级别1

铸造这个等级表示给定类的子类。如果成功,这等级返回;否则为类Cast异常被抛出。

投掷
类Cast异常 如果是这样等级无法强制转换为给定类型。

公众T型 铸造 (对象对象)

已在中添加API级别1

将给定对象强制转换为此等级如果对象是无效的那么结果也是无效的

投掷
类Cast异常 如果对象无法强制转换为给定类型。

公众布尔值 所需断言状态 ()

已在中添加API级别1

返回由此表示的类的断言状态等级.根据类加载器启用/禁用断言,包或类在运行时默认。

公众静止的等级<?> 用于名称 (字符串className,布尔值shouldInitialize,类装载器类加载器)

已在中添加API级别1

返回一个等级对象,该对象用名字。名称应为非本原类的名称,如这个类别定义使用此方法无法找到基元类型;使用int类整数。类型而不是。

如果类尚未加载,则首先使用给定的类加载器加载。如果类尚未初始化并且应初始化是真的,类将被初始化。

投掷
ClassNotFoundException类未找到异常 如果找不到请求的类。
联动装置错误 如果联动过程中发生错误
Initializer异常错误 如果在静态初始化期间发生异常类。

公众静止的等级<?> 用于名称 (字符串类名)

已在中添加API级别1

返回一个等级对象,该对象用名字。名称应为非本原类的名称,如这个类别定义使用此方法无法找到基元类型;使用int类整数。类型而不是。

如果类尚未加载,则加载并初始化它第一。这是通过调用类的类装入器完成的或其父类装入器之一。静态初始值设定项可能作为这次通话的结果。

投掷
ClassNotFoundException类未找到异常 如果找不到请求的类。
联动装置错误 如果联动过程中发生错误
Initializer异常错误 如果在静态初始化期间发生异常类。

公众A类 获取注释 (等级<A> 注释类型)

已在中添加API级别1

公众的注释[] 获取注释 ()

已在中添加API级别1

返回包含此类所有注释的数组。如果没有批注然后返回一个空数组。

退换商品
  • 此元素的所有注释的数组

公众的字符串 获取规范名称 ()

已在中添加API级别1

返回此类的规范名称。如果此类没有Java语言规范中定义的规范名称,然后方法返回无效的

公众的类装载器 获取类加载器 ()

已在中添加API级别1

返回用于加载由等级.实现可自由返回无效的对于由引导类加载器加载的类。安卓系统但是,引用实现总是返回对实际类加载器。

公众的类别[]<?> 获取类 ()

已在中添加API级别1

返回包含等级所有公共类的对象以及属于此类成员的接口。这包括公众成员继承自超类和接口。如果没有这样的类成员,或者如果此对象表示基元类型,则表示数组返回长度为0的。

公众的等级<?> 获取组件类型 ()

已在中添加API级别1

返回一个等级表示组件类型的对象,如果此类表示数组类型。退换商品无效的如果这个类不表示数组类型。数组类型的组件类型为数组元素的类型。

公众的施工单位<T> 获取构造函数 (类。。。<?> 参数类型)

已在中添加API级别9

返回一个施工单位代表公众的对象匹配给定参数类型的构造函数。(类[])null等效于空数组。

请参见getMethod(字符串,类...)有关搜索顺序的详细信息。使用getDeclaredConstructor(类...)如果你不想搜索超类。

投掷
无成功方法异常 如果找不到构造函数。

公众的建造师[]<?> 获取构造函数 ()

已在中添加API级别1

返回包含施工单位所有公共对象此的构造函数等级.如果有不是公共构造函数,或者如果是等级表示一个数组类,则返回一个空数组。

公众的注释[] 获取声明的注释 ()

已在中添加API级别1

返回直接在类上定义的注释由以下内容表示等级。继承的批注不是包括在结果中。如果根本没有注释,则为空返回数组。

退换商品
  • 为此元素声明的注释数组
另请参阅

公众的类别[]<?> 获取声明类 ()

已在中添加API级别1

返回包含等级所有类的对象和声明为该类的成员的接口等级代表。如果没有声明类或接口,或者如果此类表示数组类、基元类型或void,然后是返回空数组。

公众的施工单位<T> 获取声明的构造函数 (类。。。<?> 参数类型)

已在中添加API级别9

返回一个施工单位表示构造函数的对象匹配类声明的给定参数类型由以下内容表示等级(类[])null等效于空数组。

使用getConstructor(类...)如果你想搜索超类。

投掷
无成功方法异常 如果找不到请求的构造函数。

公众的建造师[]<?> 获取声明的构造函数 ()

已在中添加API级别1

返回包含施工单位所有对象在此表示的类中声明的构造函数等级.如果没有构造函数,或者等级表示数组类、基元类型或void,则返回空数组。

公众的字段 获取声明字段 (字符串名称)

已在中添加API级别1

返回一个字段具有给定名称的字段的对象在这个表示的类中声明等级

投掷
无SuchFieldException 如果找不到请求的字段。

公众的字段[] 获取声明字段 ()

已在中添加API级别1

返回包含字段声明的所有字段的对象在这个类中等级。如果没有字段或如果是这样等级表示数组类、基元类型或void然后返回一个空数组。

另请参阅

公众的方法 获取声明方法 (字符串名称,类。。。<?> 参数类型)

已在中添加API级别9

返回一个方法对象,该对象表示匹配类声明的给定名称和参数类型由以下内容表示等级(类[])null等效于空数组。

请参见getMethod(字符串,类...)如果你想搜索超类。

投掷
无成功方法异常 如果找不到请求的方法。
空指针异常 如果名称无效的

公众的方法[] 获取声明的方法 ()

已在中添加API级别1

返回一个数组,该数组包含方法所有方法的对象在此表示的类中声明等级。如果没有方法或如果这是等级表示数组类,原语类型或void,则返回空数组。

另请参阅

公众的等级<?> 获取声明类 ()

已在中添加API级别1

返回声明等级这个的等级.退货无效的如果该类不是另一个类的成员,或者如果等级表示数组类、基元类型或void。

公众的等级<?> 获取封闭类 ()

已在中添加API级别1

返回封闭等级这个的等级.如果没有方法返回的封闭类无效的

公众的施工单位<?> 获取封闭构造函数 ()

已在中添加API级别1

返回封闭施工单位这个的等级,如果是匿名或本地/自动类;否则无效的

公众的方法 获取封闭方法 ()

已在中添加API级别1

返回封闭方法这个的等级,如果是匿名或本地/自动类;否则无效的

公众T【】 获取枚举常量 ()

已在中添加API级别1

返回枚举与此关联的常量等级退换商品无效的如果是这样等级不代表枚举类型。

公众的字段 获取字段 (字符串名称)

已在中添加API级别1

返回一个字段对象,该对象用名字。此方法首先搜索由等级,然后是C实现的接口,最后是C的超类。

投掷
无SuchFieldException 如果找不到字段。

公众的字段[] 获取字段 ()

已在中添加API级别1

返回一个数组,该数组包含字段所有公共字段的对象代表的C类等级。可以声明字段在C中,它实现的接口或在C的超类中返回数组中的元素没有特定的顺序。

如果没有公共字段或此类表示数组类,原始类型或空隙则返回一个空数组。

公众的类型[] 获取通用接口 ()

已在中添加API级别1

返回类型的接口等级直接地实现。如果等级表示基元类型或空隙然后返回一个空数组。

公众的类型 获取通用超类 ()

已在中添加API级别1

返回类型表示此的超类

公众的类别[]<?> 获取接口 ()

已在中添加API级别1

返回的数组等级与接口匹配的对象在中实施所表示类的声明通过这个等级。数组中元素的顺序为与原始类声明中的顺序相同。如果班级不实现任何接口,则返回空数组。

公众的方法 获取方法 (字符串名称,类。。。<?> 参数类型)

已在中添加API级别9

返回一个方法对象,该对象用表示公共方法给定的名称和参数类型。(类别[])为null等效于空数组。

此方法首先搜索由以下内容表示的类C等级,则C的超类,最后是C及其超类实现的接口。

使用getDeclaredMethod(字符串,类...)如果你不想搜索超类。

投掷
无成功方法异常 如果找不到方法。

公众的方法[] 获取方法 ()

已在中添加API级别1

返回包含方法所有公共方法的对象代表的C类等级。方法可以是在C中声明,它实现的接口或在C的超类中声明。返回数组中的元素没有特定的顺序。

如果没有公共方法或等级代表基元类型或空隙然后返回一个空数组。

公众整数 获取修改器 ()

已在中添加API级别1

返回表示所表示类的修饰符的整数通过这个等级。返回值是位的组合由中的常量定义修饰符类。

公众的字符串 获取名称 ()

已在中添加API级别1

返回此等级。对于所用格式的描述,请参见的类定义等级

公众的包裹 获取程序包 ()

已在中添加API级别1

返回包裹其中此所表示的类等级是成员。退换商品无效的如果没有包裹对象是由类的类装入器创建的。

公众的保护域 获取保护域 ()

已在中添加API级别1

返回null。

公众的统一资源定位地址 获取资源 (字符串资源名称)

已在中添加API级别1

返回给定资源的URL,如果找不到该资源,则返回null。资源名称和URL之间的映射由类的类加载器管理。

另请参阅

公众的InputStream(输入流) 获取资源AsStream (字符串资源名称)

已在中添加API级别1

返回给定资源内容的只读流,如果资源找不到。资源名称和流之间的映射由类的类加载器管理。

另请参阅

公众的对象[] 获取签名者 ()

已在中添加API级别1

返回null。(在Android上类装载器可以从多个dex文件加载类。任何给定dex文件中的所有类都将具有相同的签名者,但不同的dex文件可能具有不同的签名者。这与原版不太吻合类装载器-基于的模型获取签名者.)

公众的字符串 获取简单名称 ()

已在中添加API级别1

返回此等级作为在源代码中定义。如果没有名称(即类是anonymous),则返回空字符串。如果接收器是阵列然后是附加了方括号的基础类型的名称(对于例子“整数[]”)返回。

退换商品
  • 由此表示的类的简单名称等级

公众的等级<?超级T> 获取超类 ()

已在中添加API级别1

返回等级对象的超类由此表示的类等级.如果是这样等级代表这个对象类、基元类型、接口或void,然后方法返回无效的.如果是这样等级表示数组然后类对象类被返回。

公众已同步类型变量[]<等级<T> > getType参数 ()

已在中添加API级别1

返回包含类型变量类型的对象由此表示的泛型类声明的变量等级。如果类不是泛型,则返回空数组。

退换商品
  • 按声明顺序声明的类型参数

公众布尔值 isAnnotation(注释) ()

已在中添加API级别1

测试是否等级表示注释类。

公众布尔值 是注解存在 (等级<?延伸注释>注释类型)

已在中添加API级别1

指示此元素是否具有带指定的批注类型(包括继承的批注)。

参数
注释类型 要搜索的注释的类型
退换商品
  • 真的如果注释存在,否则

公众布尔值 是匿名类 ()

已在中添加API级别1

测试此等级匿名。

公众布尔值 isArray(is阵列) ()

已在中添加API级别1

测试此等级是一个数组类。

公众布尔值 可分配自 (等级<?> c)

已在中添加API级别1

测试给定的类类型是否可以转换为类由以下内容表示等级。可以通过身份进行转换转换或扩大参考转换(如果接收器或参数表示基元类型,仅表示标识转换适用)。

投掷
空指针异常 如果c(c)无效的

公众布尔值 isEnum(isEnum) ()

已在中添加API级别1

测试此等级是一个枚举

公众布尔值 is实例 (对象对象)

已在中添加API级别1

测试给定对象是否可以强制转换为类由以下内容表示等级。这是运行时版本的运算符操作员。

退换商品
  • 真的如果对象可以转换为类型由以下内容表示等级如果对象无效的或无法进行强制转换。

公众布尔值 IS接口 ()

已在中添加API级别1

测试这是否等级表示接口。

公众布尔值 isLocalClass(本地类) ()

已在中添加API级别1

测试此等级已定义本地。

公众布尔值 是成员类 ()

已在中添加API级别1

测试此等级是成员类。

公众布尔值 是基本的 ()

已在中添加API级别1

测试这是否等级表示基元类型。

公众布尔值 是合成的 ()

已在中添加API级别1

测试这是否等级表示合成类型。

公众T型 新实例 ()

已在中添加API级别1

返回此等级,通过调用默认(即零参数)构造函数创建。如果没有这样的构造函数,或者如果创建失败(或者是因为可用内存不足或由于构造函数),一个实例化异常被抛出。如果默认构造函数存在,但无法从上下文中访问方法,则非法访问例外被抛出。

投掷
非法访问例外 如果默认构造函数不可见。
实例化异常 如果无法创建实例。

公众的字符串 toString(字符串) ()

已在中添加API级别1

返回一个字符串,该字符串包含此对象。鼓励子类重写此方法并提供考虑对象类型和数据的实现。这个默认实现等效于以下表达式:

getClass().getName()+“@”+整数.toHexString(hashCode())

请参见编写有用的toString(字符串)方法如果你打算实现你自己的toString(字符串)方法。

退换商品
  • 此对象的可打印表示。