Class.ForName 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
重载
ForName(String) |
返回与 |
ForName(String, Boolean, ClassLoader) |
使用给定的 |
ForName(String)
返回与 Class
具有给定字符串名称的类或接口关联的 对象。
[Android.Runtime.Register("forName", "(Ljava/lang/String;)Ljava/lang/Class;", "")]
public static Java.Lang.Class ForName (string className);
[<Android.Runtime.Register("forName", "(Ljava/lang/String;)Ljava/lang/Class;", "")>]
static member ForName : string -> Java.Lang.Class
参数
- className
- String
所需类的完全限定名称。
返回
Class
具有指定名称的类的 对象。
- 属性
例外
如果找不到请求的类,则为 。
如果在链接期间发生错误
如果在类的静态初始化期间发生异常,则为 。
注解
返回与 Class
具有给定字符串名称的类或接口关联的 对象。 调用此方法等效于:
<blockquote>Class.forName(className, true, currentLoader)
</blockquote>
其中 currentLoader
表示当前类的定义类加载程序。
例如,以下代码片段返回名为 java.lang.Thread
的类的运行时Class
描述符:
<blockquote>Class t = Class.forName("java.lang.Thread")
</blockquote>
调用 会导致 forName("X")
初始化名为 的 X
类。
的 java.lang.Class.forName(java.lang.String)
Java 文档。
此页面的部分内容是基于 创建和共享的工作进行的修改,并根据 署名许可中所述的术语使用。
适用于
ForName(String, Boolean, ClassLoader)
使用给定的 Class
类加载程序返回与具有给定字符串名称的类或接口关联的对象。
[Android.Runtime.Register("forName", "(Ljava/lang/String;ZLjava/lang/ClassLoader;)Ljava/lang/Class;", "")]
public static Java.Lang.Class ForName (string name, bool initialize, Java.Lang.ClassLoader? loader);
[<Android.Runtime.Register("forName", "(Ljava/lang/String;ZLjava/lang/ClassLoader;)Ljava/lang/Class;", "")>]
static member ForName : string * bool * Java.Lang.ClassLoader -> Java.Lang.Class
参数
- name
- String
所需类的完全限定名称
- initialize
- Boolean
如果 true
类将被初始化,则为 。
请参阅 java 语言规范</em>> 的第 <12.4 节。
- loader
- ClassLoader
类加载程序,必须从中加载类
返回
表示所需类的类对象
- 属性
例外
如果找不到请求的类,则为 。
如果在链接期间发生错误
如果在类的静态初始化期间发生异常,则为 。
注解
使用给定的 Class
类加载程序返回与具有给定字符串名称的类或接口关联的对象。 给定类或接口的完全限定名称 (getName
) 此方法将尝试查找、加载和链接类或接口。 指定的类加载程序用于加载类或接口。 如果 参数 loader
为 null,则通过 bootstrap 类加载程序加载类。 仅当 initialize
参数为 true
且之前尚未初始化时,才会初始化 类。
如果 name
表示基元类型或 void,则将尝试在名称为 name
的未命名包中查找用户定义的类。 因此,此方法不能用于获取表示基元类型或 void 的任何 Class
对象。
如果 name
表示数组类,则会加载数组类的组件类型,但未初始化。
例如,在实例方法中,表达式:
<blockquote>Class.forName("Foo")
</blockquote>
等效于:
<blockquote>Class.forName("Foo", true, this.getClass().getClassLoader())
</blockquote>
请注意,此方法引发与 Java 语言规范</em 第 12.2、12.3 和 12.4 <>节中指定的加载、链接或>初始化相关的错误。 请注意,此方法不检查调用方是否可以访问请求的类。
在 1.2 中添加。
的 java.lang.Class.forName(java.lang.String, boolean, java.lang.ClassLoader)
Java 文档。
此页面的部分内容是基于 创建和共享的工作进行的修改,并根据 署名许可中所述的术语使用。