Класс Конструктор<T>
- java.lang.Object
-
- java.lang.reflect.AccessibleObject
-
- java.lang.reflect.Executable
-
- java.lang.reflect.Constructor<T>
- Параметры типа:
-
T- класс, в котором объявлен конструктор
- Все реализованные интерфейсы:
- AnnotatedElement, GenericDeclaration, Member
public final class Constructor<T> extends Executable
Constructor предоставляет информацию о и доступ к отдельному конструктору класса.
Constructor позволяет выполнять расширяющие преобразования при сопоставлении фактических параметров к newInstance() с формальными параметрами базового конструктора, но генерирует IllegalArgumentException при сужающих преобразованиях.
- См. также:
-
Member,Class,Class.getConstructors(),Class.getConstructor(Class[]),Class.getDeclaredConstructors()
Поля
Поля унаследованы от интерфейса java.lang.reflect.Member
DECLARED, PUBLIC Методы
| Модификатор и тип | Метод и описание |
|---|---|
boolean |
equals(Object obj) Сравнивает этот |
AnnotatedType |
getAnnotatedReceiverType() Возвращает объект |
AnnotatedType |
getAnnotatedReturnType() Возвращает объект |
<T extends Annotation> |
getAnnotation(Class<T> annotationClass) Возвращает аннотацию этого элемента для указанного типа, если такая аннотация есть, в противном случае null. |
Annotation[] |
getDeclaredAnnotations() Возвращает аннотации, которые непосредственно присутствуют на этом элементе. |
Class<T> |
getDeclaringClass() Возвращает объект |
Class<?>[] |
getExceptionTypes() Возвращает массив объектов |
Type[] |
getGenericExceptionTypes() Возвращает массив объектов |
Type[] |
getGenericParameterTypes() Возвращает массив объектов |
int |
getModifiers() Возвращает модификаторы языка Java для исполняемого элемента, представленного этим объектом. |
String |
getName() Возвращает имя этого конструктора в виде строки. |
Annotation[][] |
getParameterAnnotations() Возвращает массив массивов |
int |
getParameterCount() Возвращает количество формальных параметров (явных, неявных или тех и других) для исполняемого элемента, представленного этим объектом. |
Class<?>[] |
getParameterTypes() Возвращает массив объектов |
TypeVariable<Constructor<T>>[] |
getTypeParameters() Возвращает массив объектов |
int |
hashCode() Возвращает хэш-код для этого |
boolean |
isSynthetic() Возвращает |
boolean |
isVarArgs() Возвращает |
T |
newInstance(Object... initargs) Использует конструктор, представленный этим объектом |
String |
toGenericString() Возвращает строку, описывающую этот |
String |
toString() Возвращает строку, описывающую этот |
Методы унаследованы от класса java.lang.reflect.Executable
getAnnotatedExceptionTypes, getAnnotatedParameterTypes, getAnnotationsByType, getParameters Методы унаследованы от класса java.lang.reflect.AccessibleObject
getAnnotations, getDeclaredAnnotation, getDeclaredAnnotationsByType, isAccessible, isAnnotationPresent, setAccessible, setAccessible Методы унаследованы от класса java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait Методы унаследованы от интерфейса java.lang.reflect.AnnotatedElement
getAnnotations, getDeclaredAnnotation, getDeclaredAnnotationsByType, isAnnotationPresent Методы
getDeclaringClass
public Class<T> getDeclaringClass()
Возвращает объект Class, представляющий класс или интерфейс, в котором объявлен исполняемый элемент, представленный этим объектом.
- Определено в:
-
getDeclaringClassв интерфейсеMember - Определено в:
-
getDeclaringClassв классеExecutable - Возвращает:
- объект, представляющий класс объявления базового члена
getName
public String getName()
Возвращает имя этого конструктора в виде строки. Это бинарное имя класса объявления конструктора.
- Определено в:
-
getNameв интерфейсеMember - Определено в:
-
getNameв классеExecutable - Возвращает:
- простое имя базового члена
getModifiers
public int getModifiers()
Возвращает модификаторы языка Java для исполняемого элемента, представленного этим объектом.
- Определено в:
-
getModifiersв интерфейсеMember - Определено в:
-
getModifiersв классеExecutable - Возвращает:
- модификаторы языка Java для базового члена
- См. также:
Modifier
getTypeParameters
public TypeVariable<Constructor<T>>[] getTypeParameters()
Возвращает массив объектов TypeVariable, представляющих переменные типа, объявленные в общем объявлении, представленном этим объектом GenericDeclaration, в порядке объявления. Возвращает массив длины 0, если базовое общее объявление не объявляет переменные типа.
- Определено в:
-
getTypeParametersв интерфейсеGenericDeclaration - Определено в:
-
getTypeParametersв классеExecutable - Возвращает:
- массив объектов
TypeVariable, представляющих переменные типа, объявленные этим общим объявлением - Исключения:
-
GenericSignatureFormatError- если общая подпись этого общего объявления не соответствует формату, указанному в Спецификации Java™ Virtual Machine - С момента:
- 1.5
getParameterTypes
public Class<?>[] getParameterTypes()
Возвращает массив объектов Class, представляющих формальные типы параметров в порядке объявления, исполняемого элемента, представленного этим объектом. Возвращает массив длины 0, если базовый исполняемый элемент не принимает параметров.
- Определено в:
-
getParameterTypesв классеExecutable - Возвращает:
- типы параметров для исполняемого элемента, который представляет этот объект
getParameterCount
public int getParameterCount()
Возвращает количество формальных параметров (явных, неявных или тех, которые не объявлены) для исполняемого элемента, представленного этим объектом.
- Переопределяет:
-
getParameterCountв классеExecutable - Возвращает:
- Количество формальных параметров для исполняемого элемента, который представляет этот объект
- С момента:
- 1.8
getGenericParameterTypes
public Type[] getGenericParameterTypes()
Возвращает массив объектов Type, представляющих формальные типы параметров в порядке объявления, исполняемого элемента, представленного этим объектом. Возвращает массив длины 0, если базовый исполняемый элемент не принимает параметров.
Если формальный тип параметра является параметризованным типом, объект Type , возвращенный для него, должен точно отражать фактические параметры типа, используемые в исходном коде.
Если формальный тип параметра является переменной типа или параметризованным типом, он создаётся. В противном случае он разрешается.
- Переопределяет:
-
getGenericParameterTypesв классеExecutable - Возвращает:
- массив
Type, представляющих формальные типы параметров базового исполняемого элемента в порядке объявления - Исключения:
-
GenericSignatureFormatError- если общая подпись метода не соответствует формату, указанному в Спецификации Java™ Virtual Machine -
TypeNotPresentException- если какой-либо из типов параметров базового исполняемого элемента ссылается на необъявленное объявление типа -
MalformedParameterizedTypeException- если какой-либо из типов параметров базового исполняемого элемента ссылается на параметризованный тип, который нельзя создать по какой-либо причине - С момента:
- 1.5
getExceptionTypes
public Class<?>[] getExceptionTypes()
Возвращает массив объектов Class, представляющих типы исключений, объявленных для выбрасывания базовым исполняемым элементом, представленным этим объектом. Возвращает массив длины 0, если исполняемый элемент не объявляет исключений в своём блоке throws.
- Определено в:
-
getExceptionTypesв классеExecutable - Возвращает:
- типы исключений, объявленные для выбрасывания исполняемым элементом, который представляет этот объект
getGenericExceptionTypes
public Type[] getGenericExceptionTypes()
Возвращает массив объектов Type, представляющих исключения, объявленные для выбрасывания этим исполняемым объектом. Возвращает массив длины 0, если базовый исполняемый элемент не объявляет исключений в своём блоке throws.
Если тип исключения является переменной типа или параметризованным типом, он создаётся. В противном случае он разрешается.
- Переопределяет:
-
getGenericExceptionTypesв классеExecutable - Возвращает:
- массив типов, представляющих типы исключений, выбрасываемых базовым исполняемым элементом
- Исключения:
-
GenericSignatureFormatError- если общая подпись метода не соответствует формату, указанному в Спецификации Java™ Virtual Machine -
TypeNotPresentException- если блокthrowsбазового исполняемого элемента ссылается на необъявленное объявление типа -
MalformedParameterizedTypeException- если блокthrowsбазового исполняемого элемента ссылается на параметризованный тип, который нельзя создать по какой-либо причине - С момента:
- 1.5
equals
public boolean equals(Object obj)
Сравнивает этот Constructor с указанным объектом. Возвращает true, если объекты одинаковые. Два объекта Constructor одинаковы, если они объявлены одним и тем же классом и имеют одинаковые формальные типы параметров.
- Переопределяет:
-
equalsв классеObject - Параметры:
-
obj- объект-ссылка, с которым нужно сравнить. - Возвращает:
-
trueесли этот объект такой же, как аргумент obj;falseв противном случае. - См. также:
-
Object.hashCode(),HashMap
hashCode
public int hashCode()
Возвращает хеш-код для этого Constructor. Хеш-код такой же, как хеш-код имени класса объявления базового конструктора.
- Переопределяет:
-
hashCodeв классеObject - Возвращает:
- значение хеш-кода для этого объекта.
- См. также:
-
Object.equals(java.lang.Object),System.identityHashCode(java.lang.Object)
toString
public String toString()
Возвращает строку, описывающую этот Constructor. Строка отформатирована как модификаторы доступа конструктора (если есть), за которыми следует полное имя класса объявления, за которым следует заключённый в скобки, разделённый запятыми список типов формальных параметров конструктора. Например:
public java.util.Hashtable(int,float)
Единственные возможные модификаторы для конструкторов — модификаторы доступа public, protected или private. Может быть только один из них, или ни одного, если у конструктора доступ по умолчанию (пакетный).
toGenericString
public String toGenericString()
Возвращает строку, описывающую этот Constructor, включая параметры типа. Строка отформатирована как модификаторы доступа конструктора (если есть), за которыми следует заключённый в угловые скобки, разделённый запятыми список параметров типа конструктора (если есть), за которым следует полное имя класса объявления, за которым следует заключённый в скобки, разделённый запятыми список общих формальных типов параметров конструктора. Если этот конструктор объявлен для приёма переменного количества аргументов, вместо обозначения последнего параметра как "Type[]", он обозначается как "Type...". Пробел используется для разделения модификаторов доступа друг от друга и от параметров типа или возвращаемого типа. Если нет параметров типа, список параметров типа опушен; если список параметров типа присутствует, список параметров типа отделяется от имени класса пробелом. Если конструктор объявлен для выбрасывания исключений, после списка параметров следует пробел, за которым следует слово "throws", за которым следует разделённый запятыми список типов исключений, выбрасываемых.
Единственные возможные модификаторы для конструкторов — модификаторы доступа public, protected или private. Может быть только один из них, или ни одного, если у конструктора доступ по умолчанию (пакетный).
- Определено в:
-
toGenericStringв классеExecutable - Возвращает:
- строку, описывающую этот
Constructor, включая параметры типа - С момента:
- 1.5
newInstance
public T newInstance(Object... initargs)
throws InstantiationException,
IllegalAccessException,
IllegalArgumentException,
InvocationTargetException Использует конструктор, представленный этим объектом Constructor, для создания и инициализации нового экземпляра класса объявления конструктора со значениями инициализации. Отдельные параметры автоматически распаковываются, чтобы соответствовать примитивным формальным параметрам, и примитивные и ссылочные параметры подчиняются преобразованиям вызовов методов, если необходимо.
Если количество формальных параметров, необходимых базовому конструктору, равно 0, предоставленный массив initargs может быть длины 0 или null.
Если класс объявления конструктора является внутренним классом в контексте, отличном от статического, первый аргумент конструктора должен быть экземпляром окружающего класса; см. раздел 15.9.3 Спецификации языка Java™.
Если необходимые проверки доступа и аргументов пройдут успешно и создание экземпляра будет продолжено, класс объявления конструктора будет инициализирован, если он ещё не был инициализирован.
Если конструктор завершит работу нормально, возвращает новый созданный и инициализированный экземпляр.
- Параметры:
-
initargs- массив объектов, которые передаются в качестве аргументов вызову конструктора; значения примитивных типов обернуты в объект-обертку соответствующего типа (например,floatвFloat) - Возвращает:
- новый объект, созданный путем вызова конструктора, который представляет этот объект
- Выбрасывает:
-
IllegalAccessException- если этот объектConstructorприменяет контроль доступа языка Java, и лежащий в основе конструктор недоступен. -
IllegalArgumentException- если количество фактических и формальных параметров отличается; если преобразование разворачивания для примитивных аргументов завершается неудачно; или если после возможного разворачивания значение параметра не может быть преобразовано в соответствующий тип формального параметра с помощью преобразования вызова метода; если этот конструктор относится к типу перечисления. -
InstantiationException- если класс, объявляющий лежащий в основе конструктор, представляет абстрактный класс. -
InvocationTargetException- если лежащий в основе конструктор выбрасывает исключение. -
ExceptionInInitializerError- если инициализация, вызванная этим методом, завершается неудачно.
isVarArgs
public boolean isVarArgs()
Возвращает true если данное исполняемое выражение было объявлено как принимающее переменное число аргументов; в противном случае возвращает false.
- Переопределяет:
-
isVarArgsв классеExecutable - Возвращает:
-
trueесли и только если данное исполняемое выражение было объявлено как принимающее переменное число аргументов. - С:
- 1.5
isSynthetic
public boolean isSynthetic()
Возвращает true если данное исполняемое выражение является синтетической конструкцией; в противном случае возвращает false.
- Определено в:
-
isSyntheticв интерфейсеMember - Переопределяет:
-
isSyntheticв классеExecutable - Возвращает:
- true, если и только если данное исполняемое выражение является синтетической конструкцией, как определено в Спецификации языка Java™.
- С:
- 1.5
getAnnotation
public <T extends Annotation> T getAnnotation(Class<T> annotationClass)
Возвращает аннотацию этого элемента для указанного типа, если такая аннотация присутствует, иначе null.
- Определено в:
-
getAnnotationв интерфейсеAnnotatedElement - Переопределяет:
-
getAnnotationв классеExecutable - Параметры типа:
-
T- тип аннотации, для которого требуется запрос и возврат, если она присутствует - Параметры:
-
annotationClass- объект Class, соответствующий типу аннотации - Возвращает:
- аннотацию этого элемента для указанного типа аннотации, если она присутствует на этом элементе, иначе null
- Выбрасывает:
-
NullPointerException- если заданный класс аннотации равен null - С:
- 1.5
getDeclaredAnnotations
public Annotation[] getDeclaredAnnotations()
Возвращает аннотации, которые непосредственно присутствуют на этом элементе. Этот метод игнорирует унаследованные аннотации. Если на этом элементе нет аннотаций непосредственно присутствующих, возвращаемое значение — массив длиной 0. Вызывающий метод может изменять возвращаемый массив; это не повлияет на массивы, возвращаемые другим вызывающим сторонам.
- Определено в:
-
getDeclaredAnnotationsв интерфейсеAnnotatedElement - Переопределяет:
-
getDeclaredAnnotationsв классеExecutable - Возвращает:
- аннотации, непосредственно присутствующие на этом элементе
- С:
- 1.5
getParameterAnnotations
public Annotation[][] getParameterAnnotations()
Возвращает массив массивов Annotations, представляющих аннотации формальных параметров, в порядке объявления, Executable , представленного этим объектом. Синтетические и обязательные параметры (см. объяснение ниже), такие как внешний параметр "this" для конструктора внутреннего класса, будут представлены в возвращаемом массиве. Если исполняемое выражение не имеет параметров (нет формальных, синтетических и обязательных параметров), возвращается массив нулевой длины. Если Executable имеет один или несколько параметров, для каждого параметра без аннотаций возвращается вложенный массив длиной ноль. Объекты аннотаций, содержащиеся в возвращаемых массивах, сериализуемы. Вызывающий метод может изменять возвращаемые массивы; это не повлияет на массивы, возвращаемые другим вызывающим сторонам. Компилятор может добавлять дополнительные параметры, которые неявно объявлены в исходном коде ("обязательные"), а также параметры, которые не являются ни неявно, ни явно объявленными в исходном коде ("синтетические"), в список параметров метода. См. Parameter для получения дополнительной информации.
- Определено в:
-
getParameterAnnotationsв классеExecutable - Возвращает:
- массив массивов, представляющих аннотации формальных и неявных параметров, в порядке объявления, исполняемого выражения, представленного этим объектом
- С:
- 1.5
- См. также:
-
Parameter,Parameter.getAnnotations()
getAnnotatedReturnType
public AnnotatedType getAnnotatedReturnType()
Возвращает объект AnnotatedType, который представляет использование типа для указания типа возвращаемого значения метода/конструктора, представленного этим объектом Executable. Если этот объект Executable представляет конструктор, объект AnnotatedType представляет тип создаваемого объекта. Если этот объект Executable представляет метод, объект AnnotatedType представляет использование типа для указания типа возвращаемого значения метода.
- Определено в:
-
getAnnotatedReturnTypeв классеExecutable - Возвращает:
- объект, представляющий тип возвращаемого значения метода или конструктора, представленного этим объектом
Executable - С:
- 1.8
getAnnotatedReceiverType
public AnnotatedType getAnnotatedReceiverType()
Возвращает объект AnnotatedType, который представляет использование типа для указания типа получателя метода/конструктора, представленного этим объектом Executable. Тип получателя метода/конструктора доступен только если у метода/конструктора есть параметр получателя (JLS 8.4.1). Если этот объект Executable представляет конструктор или метод экземпляра, у которого нет параметра получателя, или параметр получателя не имеет аннотаций на свой тип, то возвращаемое значение — объект AnnotatedType , представляющий элемент без аннотаций. Если этот объект Executable представляет статический метод, то возвращаемое значение равно null.
- Переопределяет:
-
getAnnotatedReceiverTypeв классеExecutable - Возвращает:
- объект, представляющий тип получателя метода или конструктора, представленного этим объектом
Executable - С:
- 1.8
© 1993, 2020, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.