Интерфейс Signature.ClassTypeSig
- Все суперинтерфейсы:
Signature, Signature.RefTypeSig, Signature.ThrowableSig
- Включающий интерфейс:
Signature
public static sealed interface Signature.ClassTypeSig extends Signature.RefTypeSig, Signature.ThrowableSig
Примеры сигнатур типов классов:
-
Lcom/example/Outer;дляOuter
Имеет имя классаcom/example/Outerи не имеет внешнего типа или аргументов типа. -
Lcom/example/Outer$Nested<TA;>;дляOuter.Nested<A>
Имеет имя классаcom/example/Outer$Nested, представляющее вложенный класс, не имеет внешнего типа и имеет один аргумент типа — переменную типаA. -
Lcom/example/GenericOuter<TA;>.Inner;дляGenericOuter<A>.Inner
Имеет имя классаInner, простое имя класса, внешний типLcom/example/GenericOuter<TA;>;дляGenericOuter<A>и не имеет аргументов типа.
Если внешний тип существует, имя класса является простым именем вложенного типа. В противном случае это двоичное имя во внутренней форме (разделённое /).
Если вложенный тип не имеет параметризации включающего типа, его можно представить без внешнего типа и в виде внутреннего двоичного имени; в таком представлении вложенность обозначается с помощью $, а не ..
- См. Спецификацию виртуальной машины Java:
- 4.7.9.1 Сигнатуры
- Начиная с версии:
- 24
- См. также:
Краткое описание вложенных классов
Вложенные классы и интерфейсы, объявленные в интерфейсе Signature
Signature.ArrayTypeSig, Signature.BaseTypeSig, Signature.ClassTypeSig, Signature.RefTypeSig, Signature.ThrowableSig, Signature.TypeArg, Signature.TypeParam, Signature.TypeVarSig | Модификатор и тип | Интерфейс | Описание |
|---|---|---|
static interface |
Signature.ArrayTypeSig |
Моделирует сигнатуру типа массива. |
static interface |
Signature.BaseTypeSig |
Моделирует сигнатуру примитивного типа (JLS §4.2) или void. |
static interface |
Signature.ClassTypeSig |
Моделирует сигнатуру типа класса или интерфейса, возможно, параметризованного. |
static interface |
Signature.RefTypeSig |
Моделирует сигнатуру ссылочного типа, которым может быть класс, интерфейс, переменная типа или тип массива. |
static interface |
Signature.ThrowableSig |
Маркерный интерфейс для сигнатуры типа, допускающего выбрасывание. |
static interface |
Signature.TypeArg |
Моделирует аргумент типа — аргумент параметра типа. |
static interface |
Signature.TypeParam |
Моделирует сигнатуру параметра типа обобщённого класса, интерфейса, метода или конструктора, вводящего переменную типа. |
static interface |
Signature.TypeVarSig |
Моделирует сигнатуру переменной типа. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
default ClassDesc |
classDesc() |
Возвращает этот класс или интерфейс в виде символьного дескриптора. |
String |
className() |
Возвращает имя класса или интерфейса; если внешний тип отсутствует, включает имя пакета, разделённое косыми чертами. |
static Signature.ClassTypeSig |
of |
Устарело, будет удалено: этот элемент API планируется удалить в будущей версии. |
static Signature.ClassTypeSig |
of |
Возвращает сигнатуру типа класса. |
static Signature.ClassTypeSig |
of |
Возвращает сигнатуру класса или интерфейса без внешнего типа. |
static Signature.ClassTypeSig |
of |
Возвращает сигнатуру класса или интерфейса без внешнего типа. |
Optional |
outerType() |
Возвращает сигнатуру класса, членом которого является этот класс, только если это класс-член. |
List |
typeArgs() |
Возвращает аргументы типа этого класса или интерфейса. |
Методы, объявленные в интерфейсе Signature
signatureString | Модификатор и тип | Метод | Описание |
|---|---|---|
String |
signatureString() |
Возвращает строку исходной сигнатуры. |
Подробное описание методов
outerType
Optional<Signature.ClassTypeSig> outerType()
- Возвращает:
- сигнатуру класса, членом которого является этот класс, только если это класс-член
- См. Спецификацию языка Java:
- 4.5 Параметризованные типы
className
String className()
$.- Возвращает:
- имя класса или интерфейса; если внешний тип отсутствует, включает имя пакета, разделённое косыми чертами
classDesc
default ClassDesc classDesc()
- Возвращает:
- этот класс или интерфейс в виде символьного дескриптора
typeArgs
List<Signature.TypeArg> typeArgs()
- Возвращает:
- аргументы типа этого класса или интерфейса
- См. Спецификацию языка Java:
- 4.5 Параметризованные типы
of
static Signature.ClassTypeSig of(ClassDesc className, Signature.TypeArg... typeArgs)
- Параметры:
-
className— имя класса или интерфейса -
typeArgs— аргументы типа - Возвращает:
- сигнатуру класса или интерфейса без внешнего типа
- Выбрасывает:
-
IllegalArgumentException— еслиclassNameне представляет класс или интерфейс либо не может быть обозначено
of
@Deprecated(since="26", forRemoval=true) static Signature.ClassTypeSig of(Signature.ClassTypeSig outerType, ClassDesc className, Signature.TypeArg... typeArgs)
className, если outerType не равен null. Вместо этого используйте of(ClassTypeSig, String, TypeArg...).- Параметры:
-
outerType— сигнатура внешнего типа; может бытьnull -
className— имя этого класса или интерфейса -
typeArgs— аргументы типа - Возвращает:
- сигнатуру класса или интерфейса
- Выбрасывает:
-
IllegalArgumentException— еслиclassNameне представляет класс или интерфейс либо не может быть обозначено
of
static Signature.ClassTypeSig of(String className, Signature.TypeArg... typeArgs)
- Параметры:
-
className— имя класса или интерфейса; для разделения можно использовать/ -
typeArgs— аргументы типа - Возвращает:
- сигнатуру класса или интерфейса без внешнего типа
- Выбрасывает:
-
IllegalArgumentException— еслиclassNameне может быть обозначено
of
static Signature.ClassTypeSig of(Signature.ClassTypeSig outerType, String className, Signature.TypeArg... typeArgs)
- Параметры:
-
outerType— сигнатура внешнего типа; может бытьnull -
className— имя этого класса или интерфейса; если внешний тип отсутствует, для разделения можно использовать/ -
typeArgs— аргументы типа - Возвращает:
- сигнатуру типа класса
- Выбрасывает:
-
IllegalArgumentException— еслиclassNameне может быть обозначено
© 1993, 2025, 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.
className, еслиouterTypeне равен null.