Язык

Class.ForName Метод

Определение

Перегрузки

Имя. Описание
ForName(String)

Class Возвращает объект, связанный с классом или интерфейсом с заданным именем строки.

ForName(String, Boolean, ClassLoader)

Class Возвращает объект, связанный с классом или интерфейсом с заданным именем строки, используя загрузчик заданного класса.

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/blockquote>Class.forName(className, true, currentLoader)<>

где currentLoader обозначает определяющий загрузчик класса текущего класса.

Например, следующий фрагмент кода возвращает дескриптор среды выполнения Class для класса с именем java.lang.Thread:

<blockquote/blockquote>Class t = Class.forName("java.lang.Thread")<>

Вызов вызывает forName("X") инициализацию класса X .

Документация по Java для java.lang.Class.forName(java.lang.String).

Части этой страницы — это изменения на основе работы, созданной и общей проектом с открытым исходным кодом Android и используемой в соответствии с условиями, описанными в лицензии Creative Commons 2.5 Attribution.

Применяется к

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

Значение класс будет инициализирован (что подразумевает связывание). См. раздел {

loader
ClassLoader

загрузчик класса, из которого необходимо загрузить класс

Возвращаемое значение

объект класса, представляющий нужный класс

Атрибуты

Исключения

Значение , если запрошенный класс не найден.

Значение , если во время компоновки произошла ошибка

Значение , если исключение возникает во время статической инициализации класса.

Комментарии

Class Возвращает объект, связанный с классом или интерфейсом с заданным именем строки, используя загрузчик заданного класса. Учитывая полное имя класса или интерфейса (в том же формате, который возвращается getName) этот метод пытается найти и загрузить класс или интерфейс. Для загрузки класса или интерфейса используется указанный загрузчик классов. Если параметр loader имеет значение NULL, класс загружается с помощью загрузчика класса начальной загрузки. Класс инициализируется только в том случае, если initialize параметр true не был инициализирован ранее.

Если name обозначает примитивный тип или void, будет предпринята попытка найти определяемый пользователем класс в неназванном пакете, имя которого равно name. Поэтому этот метод нельзя использовать для получения любого из Class объектов, представляющих примитивные типы или void.

Если name обозначает класс массива, тип компонента класса массива загружается, но не инициализирован.

Например, в методе экземпляра выражение:

<blockquote/blockquote>Class.forName("Foo")<>

эквивалентно правилу

<blockquote/blockquote>Class.forName("Foo", true, this.getClass().getClassLoader())<>

Обратите внимание, что этот метод выдает ошибки, связанные с загрузкой, связыванием или инициализацией, как указано в разделах {

Добавлено в версии 1.2.

Документация по Java для java.lang.Class.forName(java.lang.String, boolean, java.lang.ClassLoader).

Части этой страницы — это изменения на основе работы, созданной и общей проектом с открытым исходным кодом Android и используемой в соответствии с условиями, описанными в лицензии Creative Commons 2.5 Attribution.

Применяется к