Spec-Zone.ru › OpenJDK 8

Класс Конструктор<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)

Сравнивает этот Constructor с указанным объектом.

AnnotatedType getAnnotatedReceiverType()

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

AnnotatedType getAnnotatedReturnType()

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

<T extends Annotation>
T
getAnnotation(Class<T> annotationClass)

Возвращает аннотацию этого элемента для указанного типа, если такая аннотация есть, в противном случае null.

Annotation[] getDeclaredAnnotations()

Возвращает аннотации, которые непосредственно присутствуют на этом элементе.

Class<T> getDeclaringClass()

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

Class<?>[] getExceptionTypes()

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

Type[] getGenericExceptionTypes()

Возвращает массив объектов Type, которые представляют исключения, объявленные для выбрасывания этим объектом исполняемого элемента.

Type[] getGenericParameterTypes()

Возвращает массив объектов Type, которые представляют типы формальных параметров, в порядке объявления, исполняемого элемента, представленного этим объектом.

int getModifiers()

Возвращает модификаторы языка Java для исполняемого элемента, представленного этим объектом.

String getName()

Возвращает имя этого конструктора в виде строки.

Annotation[][] getParameterAnnotations()

Возвращает массив массивов Annotations, которые представляют аннотации на формальные параметры, в порядке объявления, Executable объекта, представленного этим объектом.

int getParameterCount()

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

Class<?>[] getParameterTypes()

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

TypeVariable<Constructor<T>>[] getTypeParameters()

Возвращает массив объектов TypeVariable , которые представляют переменные типа, объявленные общим объявлением, представленным этим объектом GenericDeclaration , в порядке объявления.

int hashCode()

Возвращает хэш-код для этого Constructor.

boolean isSynthetic()

Возвращает true, если этот исполняемый элемент является синтезированным конструктом; возвращает false в противном случае.

boolean isVarArgs()

Возвращает true , если этот исполняемый элемент объявлен с переменным числом аргументов; возвращает false в противном случае.

T newInstance(Object... initargs)

Использует конструктор, представленный этим объектом Constructor, для создания и инициализации нового экземпляра класса, объявляющего конструктор, с указанными параметрами инициализации.

String toGenericString()

Возвращает строку, описывающую этот Constructor, включая параметры типа.

String toString()

Возвращает строку, описывающую этот Constructor.

Методы унаследованы от класса 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. Может быть только один из них, или ни одного, если у конструктора доступ по умолчанию (пакетный).

Переопределяет:
toString в классе Object
Возвращает:
строку, описывающую этот Constructor

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.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API