Spec-Zone .ru
спецификации, руководства, описания, API
|
T
- тип класса смоделирован этим Class
объект. Например, тип String.class
Class<String>
. Использовать Class<?>
если смоделированный класс неизвестен.public final class Class<T> extends Object implements Serializable, GenericDeclaration, Type, AnnotatedElement
Class
представьте классы и интерфейсы в рабочем приложении Java. Перечисление является своего рода классом, и аннотация является своего рода интерфейсом. Каждый массив также принадлежит классу, который отражается как a Class
объект, который совместно используется всеми массивами с тем же самым типом элемента и числом размерностей. Примитивные типы Java (boolean
, byte
, char
, short
, int
, long
, float
, и double
), и ключевое слово void
также представляются как Class
объекты. Class
не имеет никакого общедоступного конструктора. Вместо этого Class
объекты создаются автоматически виртуальной машиной Java, поскольку классы загружаются и звонками defineClass
метод в загрузчике класса.
Следующий пример использует a Class
возразите, чтобы напечатать имя класса объекта:
void printClassName(Object obj) { System.out.println("The class of " + obj + " is " + obj.getClass().getName()); }
Также возможно добраться Class
объект для именованного типа (или для пустоты) использование литерала класса. См. Раздел 15.8.2 из Спецификации языка Java™. Например:
System.out.println("The name of class Foo is: "+Foo.class.getName());
ClassLoader.defineClass(byte[], int, int)
, Сериализированная ФормаМодификатор и Тип | Метод и Описание |
---|---|
<U> Class<? extends U> |
asSubclass(Class<U> clazz)
Броски это
Class объект представить подкласс класса, представленного указанным объектом класса. |
T |
cast(Object obj)
Бросает объект к классу или интерфейсу, представленному этим
Class объект. |
boolean |
desiredAssertionStatus()
Возвращает состояние утверждения, которое было бы присвоено этому классу, если это должно было быть инициализировано в то время, когда этот метод вызывается.
|
static Class<?> |
forName(String className)
Возвраты
Class объект, связанный с классом или интерфейсом с данным именем строки. |
static Class<?> |
forName(String name, boolean initialize, ClassLoader loader)
Возвраты
Class объект, связанный с классом или интерфейсом с данным именем строки, используя данный загрузчик класса. |
<A extends Annotation> |
getAnnotation(Class<A> annotationClass)
Возвраты аннотация этого элемента для указанного типа, если такая аннотация присутствует, еще нуль.
|
Аннотация[] |
getAnnotations()
Возвраты все аннотации представляют на этом элементе.
|
Строка |
getCanonicalName()
Возвращает каноническое имя базового класса как определено Спецификацией языка Java.
|
Class<?>[] |
getClasses()
Возвращает массив, содержащий
Class объекты, представляющие все общедоступные классы и интерфейсы, которые являются элементами класса, представленного этим Class объект. |
ClassLoder |
getClassLoader()
Возвращает загрузчик класса для класса.
|
Class<?> |
getComponentType()
Возвраты
Class представление компонентного типа массива. |
Constructor<T> |
getConstructor(Class<?>... parameterTypes)
Возвраты a
Constructor объект, который отражает указанного общедоступного конструктора класса, представленного этим Class объект. |
Constructor<?>[] |
getConstructors()
Возвращает массив, содержащий
Constructor объекты, отражающие всех общедоступных конструкторов класса, представляются этим Class объект. |
Аннотация[] |
getDeclaredAnnotations()
Возвраты все аннотации, которые непосредственно присутствуют на этом элементе.
|
Class<?>[] |
getDeclaredClasses()
Возвращает массив
Class объекты, отражающие все классы и интерфейсы, объявленные как элементы класса, представляются этим Class объект. |
Constructor<T> |
getDeclaredConstructor(Class<?>... parameterTypes)
Возвраты a
Constructor объект, который отражает указанного конструктора класса или интерфейса, представленного этим Class объект. |
Constructor<?>[] |
getDeclaredConstructors()
Возвращает массив
Constructor объекты, отражающие всех конструкторов, объявленных классом, представляются этим Class объект. |
Поле |
getDeclaredField(String name)
Возвраты a
Field объект, который отражает указанное объявленное поле класса или интерфейса, представленного этим Class объект. |
Поле[] |
getDeclaredFields()
Возвращает массив
Field объекты, отражающие все поля, объявленные классом или интерфейсом, представляются этим Class объект. |
Метод |
getDeclaredMethod(String name, Class<?>... parameterTypes)
Возвраты a
Method объект, который отражает указанный объявленный метод класса или интерфейса, представленного этим Class объект. |
Метод[] |
getDeclaredMethods()
Возвращает массив
Method объекты, отражающие все методы, объявленные классом или интерфейсом, представляются этим Class объект. |
Class<?> |
getDeclaringClass()
Если класс или интерфейс представляются этим
Class объект является элементом другого класса, возвраты Class объект, представляющий класс, в котором это было объявлено. |
Class<?> |
getEnclosingClass()
Возвращает сразу класс включения базового класса.
|
Constructor<?> |
getEnclosingConstructor()
Если это
Class объект представляет локальный или анонимный класс в пределах конструктора, a возвратов Constructor объект, представляющий сразу конструктора включения базового класса. |
Метод |
getEnclosingMethod()
Если это
Class объект представляет локальный или анонимный класс в пределах метода, a возвратов Method объект, представляющий сразу метод включения базового класса. |
T[] |
getEnumConstants()
Возвращает элементы этого класса Enum или нуля, если этот объект Класса не представляет перечислимый тип.
|
Поле |
getField(String name)
Возвраты a
Field объект, который отражает указанное общедоступное задействованное поле класса или интерфейса, представленного этим Class объект. |
Поле[] |
getFields()
Возвращает массив, содержащий
Field объекты, отражающие все доступные общедоступные поля класса или интерфейса, представляются этим Class объект. |
Ввести[] |
getGenericInterfaces()
Возвраты
Type s представление интерфейсов, непосредственно реализованных классом или интерфейсом, представляется этим объектом. |
Ввести |
getGenericSuperclass()
Возвраты
Type представляя прямой суперкласс объекта (класс, интерфейс, тип примитива или пусто) представленный этим Class . |
Class<?>[] |
getInterfaces()
Определяет интерфейсы, реализованные классом или интерфейсом, представленным этим объектом.
|
Метод |
getMethod(String name, Class<?>... parameterTypes)
Возвраты a
Method объект, который отражает указанный общедоступный задействованный метод класса или интерфейса, представленного этим Class объект. |
Метод[] |
getMethods()
Возвращает массив, содержащий
Method объекты, отражающие все общедоступные задействованные методы класса или интерфейса, представляются этим Class объект, включая объявленных классом или интерфейсом и наследованными от суперклассов и суперинтерфейсов. |
int |
getModifiers()
Возвращает модификаторы языка Java для этого класса или интерфейса, закодированного в целом числе.
|
Строка |
getName()
Возвращает имя объекта (класс, интерфейс, класс массива, тип примитива, или пусто) представленный этим
Class объект, как a String . |
Пакет |
getPackage()
Получает пакет для этого класса.
|
ProtectionDomain |
getProtectionDomain()
Возвраты
ProtectionDomain из этого класса. |
URL |
getResource(String name)
Находит ресурс с именем.
|
InputStream |
getResourceAsStream(String name)
Находит ресурс с именем.
|
Объект[] |
getSigners()
Получает подписывающие лица этого класса.
|
Строка |
getSimpleName()
Возвращает простое имя базового класса как дано в исходном коде.
|
Class<? super T> |
getSuperclass()
Возвраты
Class представляя суперкласс объекта (класс, интерфейс, тип примитива или пусто) представленный этим Class . |
TypeVariable<Class<T>>[] |
getTypeParameters()
Возвращает массив
TypeVariable объекты, которые представляют переменные типа, объявленные универсальным объявлением, представленным этим GenericDeclaration объект, в порядке объявления. |
boolean |
isAnnotation()
Возвращает true если это
Class объект представляет тип аннотации. |
boolean |
isAnnotationPresent(Class<? extends Annotation> annotationClass)
Возвращает true, если аннотация для указанного типа присутствует на этом элементе, еще ложь.
|
boolean |
isAnonymousClass()
Возвраты
true если и только если базовый класс является анонимным классом. |
boolean |
isArray()
Определяет если это
Class объект представляет класс массива. |
boolean |
isAssignableFrom(Class<?> cls)
Определяет если класс или интерфейс, представленный этим
Class объект является или тем же самым как, или является суперклассом или суперинтерфейсом, классом или интерфейсом, представленным указанным Class параметр. |
boolean |
isEnum()
Возвращает true, если и только если этот класс был объявлен как перечисление в исходном коде.
|
boolean |
isInstance(Object obj)
Определяет если указанное
Object является совместимым с присвоением с объектом, представленным этим Class . |
boolean |
isInterface()
Определяет если указанное
Class объект представляет интерфейсный тип. |
boolean |
isLocalClass()
Возвраты
true если и только если базовый класс является локальным классом. |
boolean |
isMemberClass()
Возвраты
true если и только если базовый класс является задействованным классом. |
boolean |
isPrimitive()
Определяет если указанное
Class объект представляет тип примитива. |
boolean |
isSynthetic()
Возвраты
true если этот класс является синтетическим классом; возвраты false иначе. |
T |
newInstance()
Создает новый экземпляр класса, представленного этим
Class объект. |
Строка |
toString()
Преобразовывает объект в строку.
|
public String toString()
getName
. Если это Class
объект представляет тип примитива, этот метод возвращает имя типа примитива. Если это Class
объект представляет пусто этот метод возвраты "пусто".public static Class<?> forName(String className) throws ClassNotFoundException
Class
объект, связанный с классом или интерфейсом с данным именем строки. Вызов этого метода эквивалентен:
Class.forName(className, true, currentLoader)
где currentLoader
обозначает загрузчик класса определения текущего класса. Например, следующий фрагмент кода возвращает время выполнения Class
дескриптор для класса называют java.lang.Thread
:
Class t = Class.forName("java.lang.Thread")
Звонок forName("X")
вызывает названный класс X
быть инициализированным.
className
- полностью определенное имя требуемого класса.Class
объект для класса с указанным именем.LinkageError
- если редактирование перестало работатьExceptionInInitializerError
- если инициализация вызывается этим методом сбоиClassNotFoundException
- если класс не может быть расположенpublic static Class<?> forName(String name, boolean initialize, ClassLoader loader) throws ClassNotFoundException
Class
объект, связанный с классом или интерфейсом с данным именем строки, используя данный загрузчик класса. Учитывая полностью определенное имя для класса или интерфейса (в том же самом формате, возвращенном getName
) этот метод пытается определить местоположение, загрузить, и соединить класс или интерфейс. Указанный загрузчик класса используется, чтобы загрузить класс или интерфейс. Если параметр loader
нуль, класс загружается через загрузчик класса начальной загрузки. Класс инициализируется только если initialize
параметр true
и если это не было инициализировано ранее. Если name
обозначает тип примитива или пусто, попытка будет предпринята, чтобы определить местоположение определяемого пользователем класса в неназванном пакете, имя которого name
. Поэтому, этот метод не может использоваться, чтобы получить любой из Class
объекты, представляющие типы примитивов или пусто.
Если name
обозначает класс массива, компонентный тип класса массива загружается, но не инициализируется.
Например, в методе экземпляра выражение:
Class.forName("Foo")
эквивалентно:
Class.forName("Foo", true, this.getClass().getClassLoader())
Отметьте, что этот метод бросает ошибки, связанные с загрузкой, соединением или инициализацией как определено в Разделах 12.2, 12.3 и 12.4 из Спецификации языка Java. Отметьте, что этот метод не проверяет, доступен ли требуемый класс для своей вызывающей стороны. Если loader
null
, и менеджер безопасности присутствует, и загрузчик класса вызывающей стороны не является нулем, тогда это вызовы метода менеджер безопасности checkPermission
метод с a RuntimePermission("getClassLoader")
разрешение, чтобы гарантировать нормально получать доступ к загрузчику класса начальной загрузки.
name
- полностью определенное имя требуемого классаinitialize
- должен ли класс быть инициализированloader
- загрузчик класса, из которого должен быть загружен классLinkageError
- если редактирование перестало работатьExceptionInInitializerError
- если инициализация вызывается этим методом сбоиClassNotFoundException
- если класс не может быть расположен указанным загрузчиком классаforName(String)
, ClassLoader
public T newInstance() throws InstantiationException, IllegalAccessException
Class
объект. Класс инстанцируют как будто a new
выражение с пустым списком параметров. Класс инициализируется, если он не был уже инициализирован. Отметьте, что этот метод распространяет любое исключение, выданное nullary конструктором, включая проверенное исключение. Использование этого метода эффективно обходит исключение времени компиляции, проверяющее, что это было бы иначе выполнено компилятором. Constructor.newInstance
метод избегает этой проблемы, обертывая любое исключение, выданное конструктором в (проверенном) InvocationTargetException
.
IllegalAccessException
- если класс или его nullary конструктор не доступны.InstantiationException
- если это Class
представляет абстрактный класс, интерфейс, класс массива, тип примитива, или пусто; или если у класса нет никакого nullary конструктора; или если инстанцирование перестало работать по некоторой другой причине.ExceptionInInitializerError
- если инициализация вызывается этим методом сбои.SecurityException
- Если менеджер безопасности, s, присутствует, и любое из следующих условий встречается: s.checkMemberAccess(this, Member.PUBLIC)
отрицает создание новых экземпляров этого класса s.checkPackageAccess()
лишает доступа к пакету этого класса public boolean isInstance(Object obj)
Object
является совместимым с присвоением с объектом, представленным этим Class
. Этот метод является динамическим эквивалентом языка Java instanceof
оператор. Возвраты метода true
если указанное Object
параметр является ненулем и может быть брошен к ссылочному типу, представленному этим Class
объект, не повышая a ClassCastException.
Это возвращается false
иначе. Определенно, если это Class
объект представляет объявленный класс, этот метод возвраты true
если указанное Object
параметром является экземпляр представленного класса (или любого из его подклассов); это возвращается false
иначе. Если это Class
объект представляет класс массива, этот метод возвраты true
если указанное Object
параметр может быть преобразован в объект класса массива преобразованием идентификационных данных или расширяющимся ссылочным преобразованием; это возвращается false
иначе. Если это Class
объект представляет интерфейс, этот метод возвраты true
если класс или любой суперкласс указанного Object
параметр реализует этот интерфейс; это возвращается false
иначе. Если это Class
объект представляет тип примитива, этот метод возвраты false
.
obj
- объект проверитьobj
экземпляр этого классаpublic boolean isAssignableFrom(Class<?> cls)
Class
объект является или тем же самым как, или является суперклассом или суперинтерфейсом, классом или интерфейсом, представленным указанным Class
параметр. Это возвращается true
раз так; иначе это возвращается false
. Если это Class
объект представляет тип примитива, этот метод возвраты true
если указанное Class
параметр - точно это Class
объект; иначе это возвращается false
. Определенно, этот метод тестирует ли тип, представленный указанным Class
параметр может быть преобразован в тип, представленный этим Class
объект через преобразование идентификационных данных или через расширяющееся ссылочное преобразование. См. Спецификацию языка Java, разделы 5.1.1 и 5.1.4, для деталей.
cls
- Class
объект, который будет проверенboolean
значение, указывающее, ли объекты типа cls
может быть присвоен объектам этого классаNullPointerException
- если указанный параметр Класса является нулем.public boolean isInterface()
Class
объект представляет интерфейсный тип.true
если этот объект представляет интерфейс; false
иначе.public boolean isArray()
Class
объект представляет класс массива.true
если этот объект представляет класс массива; false
иначе.public boolean isPrimitive()
Class
объект представляет тип примитива. Есть девять предопределены Class
объекты представить эти восемь типов примитивов и пусто. Они создаются виртуальной машиной Java, и имеют те же самые имена как типы примитивов, которые они представляют, а именно, boolean
, byte
, char
, short
, int
, long
, float
, и double
.
К этим объектам можно только получить доступ через следующие общедоступные статические заключительные переменные, и являются единственным Class
объекты, для которых возвращается этот метод true
.
Boolean.TYPE
, Character.TYPE
, Byte.TYPE
, Short.TYPE
, Integer.TYPE
, Long.TYPE
, Float.TYPE
, Double.TYPE
, Void.TYPE
public boolean isAnnotation()
Class
объект представляет тип аннотации. Отметьте это, если этот метод возвращает true, isInterface()
также возвратил бы true, поскольку все типы аннотации являются также интерфейсами.true
если этот объект класса представляет тип аннотации; false
иначеpublic boolean isSynthetic()
true
если этот класс является синтетическим классом; возвраты false
иначе.true
если и только если этот класс является синтетическим классом как определено Спецификацией языка Java.public String getName()
Class
объект, как a String
. Если этот объект класса представляет ссылочный тип, который не является типом массива тогда, двоичное имя класса возвращается, как определено Спецификацией языка Java™.
Если этот объект класса представляет тип примитива или пусто, то возвращенное имя является a String
равный ключевому слову языка Java, соответствующему типу примитива или пусто.
Если этот объект класса представляет класс массивов, то внутренняя форма имени состоит из имени типа элемента, которому предшествуют один или более'[
'символы, представляющие глубину вложения массива. Кодирование имен типов элемента следующие:
Тип элемента Кодирование булевская переменная Z байт B случайная работа C класс или интерфейс Lclassname; двойной D плавание F интервал Я долго J короткий S
Имя класса имени класса или интерфейса является двоичным именем класса, определенного выше.
Примеры:
String.class.getName() returns "java.lang.String" byte.class.getName() returns "byte" (new Object[3]).getClass().getName() returns "[Ljava.lang.Object;" (new int[3][4][5][6][7][8][9]).getClass().getName() returns "[[[[[[[I"
public ClassLoader getClassLoader()
Если менеджер безопасности присутствует, и загрузчик класса вызывающей стороны не является нулем, и загрузчик класса вызывающей стороны не является тем же самым как или предок загрузчика класса для класса, загрузчик класса которого требуют, то это вызовы метода менеджер безопасности checkPermission
метод с a RuntimePermission("getClassLoader")
разрешение, чтобы гарантировать нормально получать доступ к загрузчику класса для класса.
Если этот объект представляет тип примитива или пусто, нуль возвращается.
SecurityException
- если менеджер безопасности существует и checkPermission
метод лишает доступа к загрузчику класса для класса.ClassLoader
, SecurityManager.checkPermission(java.security.Permission)
, RuntimePermission
public TypeVariable<Class<T>>[] getTypeParameters()
TypeVariable
объекты, которые представляют переменные типа, объявленные универсальным объявлением, представленным этим GenericDeclaration
объект, в порядке объявления. Возвращает массив длины 0, если базовое универсальное объявление не объявляет переменных типа.getTypeParameters
в интерфейсе GenericDeclaration
TypeVariable
объекты, которые представляют переменные типа, объявленные этим универсальным объявлениемGenericSignatureFormatError
- если универсальная подпись этого универсального объявления не соответствует формату, определенному в Спецификации Виртуальной машины Java™public Class<? super T> getSuperclass()
Class
представляя суперкласс объекта (класс, интерфейс, тип примитива или пусто) представленный этим Class
. Если это Class
представляет любого Object
класс, интерфейс, тип примитива, или пусто, тогда нуль возвращаются. Если этот объект представляет класс массива тогда Class
объект, представляющий Object
класс возвращается.public Type getGenericSuperclass()
Type
представляя прямой суперкласс объекта (класс, интерфейс, тип примитива или пусто) представленный этим Class
. Если суперкласс является параметризованным типом, Type
возвращенный объект должен точно отразить фактические параметры типа, используемые в исходном коде. Параметризованный тип, представляющий суперкласс, создается, если это не было создано прежде. См. объявление ParameterizedType
поскольку семантика создания обрабатывает для параметризованных типов. Если это Class
представляет любого Object
класс, интерфейс, тип примитива, или пусто, тогда нуль возвращаются. Если этот объект представляет класс массива тогда Class
объект, представляющий Object
класс возвращается.
GenericSignatureFormatError
- если универсальная подпись класса не соответствует формату, определенному в Спецификации Виртуальной машины Java™TypeNotPresentException
- если универсальный суперкласс ссылается на несуществующее описание типаMalformedParameterizedTypeException
- если универсальный суперкласс обращается к параметризованному типу, который нельзя инстанцировать ни по какой причинеpublic Package getPackage()
У пакетов есть атрибуты для версий и спецификаций, только если информация была определена в декларациях, которые сопровождают классы, и если загрузчик класса, создаваемый экземпляр пакета с атрибутами из декларации.
public Class<?>[] getInterfaces()
Если этот объект представляет класс, возвращаемое значение является массивом, содержащим объекты, представляющие все интерфейсы, реализованные классом. Порядок интерфейсных объектов в массиве соответствует порядку интерфейсных имен в implements
пункт объявления класса представляется этим объектом. Например, учитывая объявление:
class Shimmer implements FloorWax, DessertTopping { ... }
предположите значение s
экземпляр Shimmer
; значение выражения:
s.getClass().getInterfaces()[0]
Class
объект, который представляет интерфейс FloorWax
; и значение:
s.getClass().getInterfaces()[1]
Class
объект, который представляет интерфейс DessertTopping
. Если этот объект представляет интерфейс, массив содержит объекты, представляющие все интерфейсы, расширенные интерфейсом. Порядок интерфейсных объектов в массиве соответствует порядку интерфейсных имен в extends
пункт объявления интерфейса представляется этим объектом.
Если этот объект представляет класс, или взаимодействуйте через интерфейс, который не реализует интерфейсов, метод возвращает массив длины 0.
Если этот объект представляет тип примитива или пусто, метод возвращает массив длины 0.
public Type[] getGenericInterfaces()
Type
s представление интерфейсов, непосредственно реализованных классом или интерфейсом, представляется этим объектом. Если суперинтерфейс является параметризованным типом, Type
объект, возвращенный для этого, должен точно отразить фактические параметры типа, используемые в исходном коде. Параметризованный тип, представляющий каждый суперинтерфейс, создается, если это не было создано прежде. См. объявление ParameterizedType
поскольку семантика создания обрабатывает для параметризованных типов.
Если этот объект представляет класс, возвращаемое значение является массивом, содержащим объекты, представляющие все интерфейсы, реализованные классом. Порядок интерфейсных объектов в массиве соответствует порядку интерфейсных имен в implements
пункт объявления класса представляется этим объектом. В случае класса массива, интерфейсов Cloneable
и Serializable
возвращаются в том порядке.
Если этот объект представляет интерфейс, массив содержит объекты, представляющие все интерфейсы, непосредственно расширенные интерфейсом. Порядок интерфейсных объектов в массиве соответствует порядку интерфейсных имен в extends
пункт объявления интерфейса представляется этим объектом.
Если этот объект представляет класс, или взаимодействуйте через интерфейс, который не реализует интерфейсов, метод возвращает массив длины 0.
Если этот объект представляет тип примитива или пусто, метод возвращает массив длины 0.
GenericSignatureFormatError
- если универсальная подпись класса не соответствует формату, определенному в Спецификации Виртуальной машины Java™TypeNotPresentException
- если какой-либо из универсальных суперинтерфейсов ссылается на несуществующее описание типаMalformedParameterizedTypeException
- если какой-либо из универсальных суперинтерфейсов обращается к параметризованному типу, который нельзя инстанцировать ни по какой причинеpublic Class<?> getComponentType()
Class
представление компонентного типа массива. Если этот класс не представляет класс массива этот нуль возвратов метода.Class
представление компонентного типа этого класса, если этот класс является массивомArray
public int getModifiers()
public
, protected
, private
, final
, static
, abstract
и interface
; они должны декодироваться, используя методы класса Modifier
. Если базовый класс является классом массива, то public
, private
и protected
модификаторы являются тем же самым как таковыми из его компонентного типа. Если это Class
представляет тип примитива или пусто, public
модификатор всегда true
, и protected
и private
модификаторы всегда false
. Если этот объект представляет класс массива, тип примитива или пусто, то final
модификатор всегда true
и его интерфейсный модификатор всегда false
. Значения его других модификаторов не определяются этой спецификацией.
Кодировки модификатора определяются в Спецификации виртуальной машины Java, таблице 4.1.
int
представление модификаторов для этого классаModifier
public Object[] getSigners()
public Method getEnclosingMethod()
Class
объект представляет локальный или анонимный класс в пределах метода, a возвратов Method
объект, представляющий сразу метод включения базового класса. Возвраты null
иначе. В частности этот метод возвраты null
если базовый класс является локальным или анонимным классом, сразу включенным описанием типа, инициализатором экземпляра или статическим инициализатором.null
.public Constructor<?> getEnclosingConstructor()
Class
объект представляет локальный или анонимный класс в пределах конструктора, a возвратов Constructor
объект, представляющий сразу конструктора включения базового класса. Возвраты null
иначе. В частности этот метод возвраты null
если базовый класс является локальным или анонимным классом, сразу включенным описанием типа, инициализатором экземпляра или статическим инициализатором.null
.public Class<?> getDeclaringClass()
Class
объект является элементом другого класса, возвраты Class
объект, представляющий класс, в котором это было объявлено. Этот метод возвращает нуль, если этот класс или интерфейс не являются элементом какого-либо другого класса. Если это Class
объект представляет класс массива, тип примитива, или пусто, тогда этот нуль возвратов метода.public Class<?> getEnclosingClass()
null
.public String getSimpleName()
Простое имя массива является простым именем компонентного типа с" []" добавленный. В особенности простое имя массива, компонентный тип которого является анонимным," []".
public String getCanonicalName()
null
иначе.public boolean isAnonymousClass()
true
если и только если базовый класс является анонимным классом.true
если и только если этот класс является анонимным классом.public boolean isLocalClass()
true
если и только если базовый класс является локальным классом.true
если и только если этот класс является локальным классом.public boolean isMemberClass()
true
если и только если базовый класс является задействованным классом.true
если и только если этот класс является задействованным классом.public Class<?>[] getClasses()
Class
объекты, представляющие все общедоступные классы и интерфейсы, которые являются элементами класса, представленного этим Class
объект. Это включает общедоступный класс и интерфейсные элементы, наследованные от суперклассов и общедоступного класса и интерфейсных элементов, объявленных классом. Этот метод возвращает массив длины 0 если это Class
у объекта нет никаких общедоступных задействованных классов или интерфейсов. Этот метод также возвращает массив длины 0 если это Class
объект представляет тип примитива, класс массива, или пусто.Class
объекты, представляющие общедоступные элементы этого классаSecurityException
- Если менеджер безопасности, s, присутствует, и любое из следующих условий встречается: s.checkMemberAccess(this, Member.PUBLIC)
метод лишает доступа к классам в пределах этого класса s.checkPackageAccess()
лишает доступа к пакету этого класса public Field[] getFields() throws SecurityException
Field
объекты, отражающие все доступные общедоступные поля класса или интерфейса, представляются этим Class
объект. Элементы в возвращенном массиве не сортируются и не находятся ни в каком определенном порядке. Этот метод возвращает массив длины 0, если у класса или интерфейса нет никаких доступных общедоступных полей, или если это представляет класс массива, тип примитива, или пусто. Определенно, если это Class
объект представляет класс, этот метод возвращает общедоступные поля этого класса и всех его суперклассов. Если это Class
объект представляет интерфейс, этот метод возвращает поля этого интерфейса и всех его суперинтерфейсов.
Неявное поле длины для класса массива не отражается этим методом. Пользовательский код должен использовать методы класса Array
управлять массивами.
См. Спецификацию языка Java, разделы 8.2 и 8.3.
Field
объекты, представляющие общедоступные поляSecurityException
- Если менеджер безопасности, s, присутствует, и любое из следующих условий встречается: s.checkMemberAccess(this, Member.PUBLIC)
лишает доступа к полям в пределах этого класса s.checkPackageAccess()
лишает доступа к пакету этого класса public Method[] getMethods() throws SecurityException
Method
объекты, отражающие все общедоступные задействованные методы класса или интерфейса, представляются этим Class
объект, включая объявленных классом или интерфейсом и наследованными от суперклассов и суперинтерфейсов. Классы массива возвращают все (общедоступные) задействованные методы, наследованные из Object
класс. Элементы в возвращенном массиве не сортируются и не находятся ни в каком определенном порядке. Этот метод возвращает массив длины 0 если это Class
объект представляет класс, или взаимодействуйте через интерфейс, у которого нет никаких общедоступных задействованных методов, или если это Class
объект представляет тип примитива или пусто. Метод инициализации класса <clinit>
не включается в возвращенный массив. Если класс объявляет многократные общедоступные задействованные методы с теми же самыми типами параметра, они все включаются в возвращенный массив.
См. Спецификацию языка Java, разделы 8.2 и 8.4.
Method
объекты, представляющие открытые методы этого классаSecurityException
- Если менеджер безопасности, s, присутствует, и любое из следующих условий встречается: s.checkMemberAccess(this, Member.PUBLIC)
лишает доступа к методам в пределах этого класса s.checkPackageAccess()
лишает доступа к пакету этого класса public Constructor<?>[] getConstructors() throws SecurityException
Constructor
объекты, отражающие всех общедоступных конструкторов класса, представляются этим Class
объект. Массив длины 0 возвращается, если у класса нет никаких общедоступных конструкторов, или если класс является классом массива, или если класс отражает тип примитива или пусто. Отметьте это, в то время как этот метод возвращает массив Constructor<T>
объекты (который является массивом конструкторов от этого класса), тип возврата этого метода Constructor<?>[]
и нет Constructor<T>[]
как мог бы ожидаться. Этот менее информативный тип возврата необходим, так как, будучи возвращенным из этого метода, массив мог быть изменен, чтобы содержать Constructor
объекты для различных классов, которые нарушили бы гарантии типа Constructor<T>[]
.Constructor
объекты, представляющие общедоступных конструкторов этого классаSecurityException
- Если менеджер безопасности, s, присутствует, и любое из следующих условий встречается: s.checkMemberAccess(this, Member.PUBLIC)
лишает доступа конструкторам в пределах этого класса s.checkPackageAccess()
лишает доступа к пакету этого класса public Field getField(String name) throws NoSuchFieldException, SecurityException
Field
объект, который отражает указанное общедоступное задействованное поле класса или интерфейса, представленного этим Class
объект. name
параметр является a String
определение простого имени требуемого поля. Поле, которое будет отражено, определяется алгоритмом, который следует. Позвольте C быть классом, представленным этим объектом:
NoSuchFieldException
бросается.См. Спецификацию языка Java, разделы 8.2 и 8.3.
name
- имя поляField
объект этого класса, определенного name
NoSuchFieldException
- если поле с указанным именем не находится.NullPointerException
- если name
null
SecurityException
- Если менеджер безопасности, s, присутствует, и любое из следующих условий встречается: s.checkMemberAccess(this, Member.PUBLIC)
лишает доступа к полю s.checkPackageAccess()
лишает доступа к пакету этого класса public Method getMethod(String name, Class<?>... parameterTypes) throws NoSuchMethodException, SecurityException
Method
объект, который отражает указанный общедоступный задействованный метод класса или интерфейса, представленного этим Class
объект. name
параметр является a String
определение простого имени требуемого метода. parameterTypes
параметр является массивом Class
объекты, которые идентифицируют типы формального параметра метода в объявленном порядке. Если parameterTypes
null
, это обрабатывается, как будто это был пустой массив. Если name
"<init>
; "или"<clinit>
"a NoSuchMethodException
повышается. Иначе, метод, который будет отражен, определяется алгоритмом, который следует. Позвольте C быть классом, представленным этим объектом:
Отметьте, что может быть больше чем один соответствующий метод в классе, потому что, в то время как язык Java запрещает классу объявлять многократные методы с той же самой подписью, но различными типами возврата, виртуальная машина Java не делает. Эта увеличенная гибкость в виртуальной машине может использоваться, чтобы реализовать различные опции языка. Например, ковариантные возвраты могут быть реализованы с мостовыми методами; у мостового метода и переопределяемого метода была бы та же самая подпись, но различные типы возврата.
См. Спецификацию языка Java, разделы 8.2 и 8.4.
name
- имя методаparameterTypes
- список параметровMethod
возразите, что соответствует указанное name
и parameterTypes
NoSuchMethodException
- если соответствующий метод не находится или если имя" <init> "или" <clinit>".NullPointerException
- если name
null
SecurityException
- Если менеджер безопасности, s, присутствует, и любое из следующих условий встречается: s.checkMemberAccess(this, Member.PUBLIC)
лишает доступа к методу s.checkPackageAccess()
лишает доступа к пакету этого класса public Constructor<T> getConstructor(Class<?>... parameterTypes) throws NoSuchMethodException, SecurityException
Constructor
объект, который отражает указанного общедоступного конструктора класса, представленного этим Class
объект. parameterTypes
параметр является массивом Class
объекты, которые идентифицируют типы формального параметра конструктора в объявленном порядке. Если это Class
объект представляет внутренний класс, объявленный в нестатическом контексте, типы формального параметра включают явный экземпляр включения как первый параметр. Конструктор, чтобы отразиться является общедоступным конструктором класса, представленного этим Class
возразите, чьи типы формального параметра соответствуют определенных parameterTypes
.
parameterTypes
- массив параметраConstructor
объект общедоступного конструктора, который соответствует указанное parameterTypes
NoSuchMethodException
- если соответствующий метод не находится.SecurityException
- Если менеджер безопасности, s, присутствует, и любое из следующих условий встречается: s.checkMemberAccess(this, Member.PUBLIC)
лишает доступа конструктору s.checkPackageAccess()
лишает доступа к пакету этого класса public Class<?>[] getDeclaredClasses() throws SecurityException
Class
объекты, отражающие все классы и интерфейсы, объявленные как элементы класса, представляются этим Class
объект. Это включает общественность, защищенную, значение по умолчанию (пакет) доступ, и частные классы и интерфейсы, объявленные классом, но исключает наследованные классы и интерфейсы. Этот метод возвращает массив длины 0, если класс не объявляет классов или взаимодействует через интерфейс как элементы, или если это Class
объект представляет тип примитива, класс массива, или пусто.Class
объекты, представляющие все объявленные элементы этого классаSecurityException
- Если менеджер безопасности, s, присутствует, и любое из следующих условий встречается: s.checkMemberAccess(this, Member.DECLARED)
лишает доступа к объявленным классам в пределах этого класса s.checkPackageAccess()
лишает доступа к пакету этого класса public Field[] getDeclaredFields() throws SecurityException
Field
объекты, отражающие все поля, объявленные классом или интерфейсом, представляются этим Class
объект. Это включает общественность, защищенную, значение по умолчанию (пакет) доступ, и частные поля, но исключает наследованные поля. Элементы в возвращенном массиве не сортируются и не находятся ни в каком определенном порядке. Этот метод возвращает массив длины 0, если класс или интерфейс не объявляют полей, или если это Class
объект представляет тип примитива, класс массива, или пусто. См. Спецификацию языка Java, разделы 8.2 и 8.3.
Field
объекты, представляющие все объявленные поля этого классаSecurityException
- Если менеджер безопасности, s, присутствует, и любое из следующих условий встречается: s.checkMemberAccess(this, Member.DECLARED)
лишает доступа к объявленным полям в пределах этого класса s.checkPackageAccess()
лишает доступа к пакету этого класса public Method[] getDeclaredMethods() throws SecurityException
Method
объекты, отражающие все методы, объявленные классом или интерфейсом, представляются этим Class
объект. Это включает общественность, защищенную, значение по умолчанию (пакет) доступ, и закрытые методы, но исключает наследованные методы. Элементы в возвращенном массиве не сортируются и не находятся ни в каком определенном порядке. Этот метод возвращает массив длины 0, если класс или интерфейс не объявляют методов, или если это Class
объект представляет тип примитива, класс массива, или пусто. Метод инициализации класса <clinit>
не включается в возвращенный массив. Если класс объявляет многократные общедоступные задействованные методы с теми же самыми типами параметра, они все включаются в возвращенный массив. См. Спецификацию языка Java, разделите 8.2.
Method
объекты, представляющие все объявленные методы этого классаSecurityException
- Если менеджер безопасности, s, присутствует, и любое из следующих условий встречается: s.checkMemberAccess(this, Member.DECLARED)
лишает доступа к объявленным методам в пределах этого класса s.checkPackageAccess()
лишает доступа к пакету этого класса public Constructor<?>[] getDeclaredConstructors() throws SecurityException
Constructor
объекты, отражающие всех конструкторов, объявленных классом, представляются этим Class
объект. Они общедоступны, защищаются, значение по умолчанию (пакет) доступ, и частные конструкторы. Элементы в возвращенном массиве не сортируются и не находятся ни в каком определенном порядке. Если у класса есть конструктор по умолчанию, он включается в возвращенный массив. Этот метод возвращает массив длины 0 если это Class
объект представляет интерфейс, тип примитива, класс массива, или пусто. См. Спецификацию языка Java, разделите 8.2.
Constructor
объекты, представляющие всех объявленных конструкторов этого классаSecurityException
- Если менеджер безопасности, s, присутствует, и любое из следующих условий встречается: s.checkMemberAccess(this, Member.DECLARED)
лишает доступа объявленным конструкторам в пределах этого класса s.checkPackageAccess()
лишает доступа к пакету этого класса public Field getDeclaredField(String name) throws NoSuchFieldException, SecurityException
Field
объект, который отражает указанное объявленное поле класса или интерфейса, представленного этим Class
объект. name
параметр является a String
это определяет простое имя требуемого поля. Отметьте, что этот метод не будет отражаться length
поле класса массива.name
- имя поляField
объект для указанного поля в этом классеNoSuchFieldException
- если поле с указанным именем не находится.NullPointerException
- если name
null
SecurityException
- Если менеджер безопасности, s, присутствует, и любое из следующих условий встречается: s.checkMemberAccess(this, Member.DECLARED)
лишает доступа к объявленному полю s.checkPackageAccess()
лишает доступа к пакету этого класса public Method getDeclaredMethod(String name, Class<?>... parameterTypes) throws NoSuchMethodException, SecurityException
Method
объект, который отражает указанный объявленный метод класса или интерфейса, представленного этим Class
объект. name
параметр является a String
это определяет простое имя требуемого метода, и parameterTypes
параметр является массивом Class
объекты, которые идентифицируют типы формального параметра метода в объявленном порядке. Если больше чем один метод с теми же самыми типами параметра объявляется в классе, и у одного из этих методов есть тип возврата, который является более определенным чем любые из других, тот метод возвращается; иначе один из методов выбирается произвольно. Если имя" <init> "или" <clinit>" a NoSuchMethodException
повышается.name
- имя методаparameterTypes
- массив параметраMethod
объект для метода этого класса, соответствующего указанное имя и параметрыNoSuchMethodException
- если соответствующий метод не находится.NullPointerException
- если name
null
SecurityException
- Если менеджер безопасности, s, присутствует, и любое из следующих условий встречается: s.checkMemberAccess(this, Member.DECLARED)
лишает доступа к объявленному методу s.checkPackageAccess()
лишает доступа к пакету этого класса public Constructor<T> getDeclaredConstructor(Class<?>... parameterTypes) throws NoSuchMethodException, SecurityException
Constructor
объект, который отражает указанного конструктора класса или интерфейса, представленного этим Class
объект. parameterTypes
параметр является массивом Class
объекты, которые идентифицируют типы формального параметра конструктора в объявленном порядке. Если это Class
объект представляет внутренний класс, объявленный в нестатическом контексте, типы формального параметра включают явный экземпляр включения как первый параметр.parameterTypes
- массив параметраConstructor
объект для конструктора с указанным списком параметровNoSuchMethodException
- если соответствующий метод не находится.SecurityException
- Если менеджер безопасности, s, присутствует, и любое из следующих условий встречается: s.checkMemberAccess(this, Member.DECLARED)
лишает доступа объявленному конструктору s.checkPackageAccess()
лишает доступа к пакету этого класса public InputStream getResourceAsStream(String name)
ClassLoader.getSystemResourceAsStream(java.lang.String)
. Перед делегацией абсолютное имя ресурса создается из данного имени ресурса, используя этот алгоритм:
name
начинается с a '/'
('\u002f'), тогда абсолютное имя ресурса является частью name
после '/'
.
modified_package_name/name
Где modified_package_name
имя пакета этого объекта с '/'
замененный '.'
('\u002e').
name
- имя требуемого ресурсаInputStream
объект или null
если никакой ресурс с этим именем не находитсяNullPointerException
- Если name
null
public URL getResource(String name)
ClassLoader.getSystemResource(java.lang.String)
. Перед делегацией абсолютное имя ресурса создается из данного имени ресурса, используя этот алгоритм:
name
начинается с a '/'
('\u002f'), тогда абсолютное имя ресурса является частью name
после '/'
.
modified_package_name/name
Где modified_package_name
имя пакета этого объекта с '/'
замененный '.'
('\u002e').
name
- имя требуемого ресурсаURL
объект или null
если никакой ресурс с этим именем не находитсяpublic ProtectionDomain getProtectionDomain()
ProtectionDomain
из этого класса. Если есть установленный менеджер безопасности, этот метод первые вызовы менеджер безопасности checkPermission
метод с a RuntimePermission("getProtectionDomain")
разрешение, чтобы гарантировать нормально добираться ProtectionDomain
.SecurityException
- если менеджер безопасности существует и checkPermission
метод не позволяет получать ProtectionDomain.ProtectionDomain
, SecurityManager.checkPermission(java.security.Permission)
, RuntimePermission
public boolean desiredAssertionStatus()
У немногих программистов будет любая потребность в этом методе; это обеспечивается в пользу JRE непосредственно. (Это позволяет классу определять в то время, когда это инициализируется, должны ли утверждения быть включены.) Отмечают, что этот метод, как гарантируют, не возвратит фактическое состояние утверждения, которое было (или будет), связанный с указанным классом, когда это было (или будет), инициализированный.
ClassLoader.setClassAssertionStatus(java.lang.String, boolean)
, ClassLoader.setPackageAssertionStatus(java.lang.String, boolean)
, ClassLoader.setDefaultAssertionStatus(boolean)
public boolean isEnum()
public T[] getEnumConstants()
public T cast(Object obj)
Class
объект.obj
- объект, который будет брошенClassCastException
- если объект не является нулем и не присваиваем типу T.public <U> Class<? extends U> asSubclass(Class<U> clazz)
Class
объект представить подкласс класса, представленного указанным объектом класса. Проверки, что, что бросок допустим, и бросает a ClassCastException
если это не. Если этот метод успешно выполняется, он всегда возвращает ссылку на этот объект класса. Этот метод полезен, когда клиент должен "сузить" тип a Class
возразите, чтобы передать это к API, который ограничивает Class
объекты, которые это готово принять. Бросок генерировал бы время компиляции, предупреждая, поскольку правильность броска не могла быть проверена во время выполнения (потому что универсальные типы реализуются стиранием).
Class
объект, бросок, чтобы представить подкласс указанного объекта класса.ClassCastException
- если это Class
объект не представляет подкласс указанного класса (здесь, "подкласс" включает класс непосредственно).public <A extends Annotation> A getAnnotation(Class<A> annotationClass)
AnnotatedElement
getAnnotation
в интерфейсе AnnotatedElement
annotationClass
- соответствие объекта Класса типу аннотацииNullPointerException
- если данный класс аннотации является нулемpublic boolean isAnnotationPresent(Class<? extends Annotation> annotationClass)
AnnotatedElement
isAnnotationPresent
в интерфейсе AnnotatedElement
annotationClass
- соответствие объекта Класса типу аннотацииNullPointerException
- если данный класс аннотации является нулемpublic Annotation[] getAnnotations()
AnnotatedElement
getAnnotations
в интерфейсе AnnotatedElement
public Annotation[] getDeclaredAnnotations()
AnnotatedElement
getDeclaredAnnotations
в интерфейсе AnnotatedElement
Для дальнейшей ссылки API и документации разработчика, см.
Авторское право © 1993, 2011, Oracle и/или его филиалы. Все права защищены.