Spec-Zone.ru › OpenJDK 24

Класс перечисления NestingKind

java.lang.Object
java.lang.Enum<NestingKind>
javax.lang.model.element.NestingKind
Все реализуемые интерфейсы:
Serializable, Comparable<NestingKind>, Constable
public enum NestingKind extends Enum<NestingKind>
Тип вложенности элемента типа. Элементы типа представлены четырьмя вариантами: верхнего уровня, члена, локального и анонимного. Тип вложенности — это нестандартный термин, используемый здесь для обозначения этой классификации.

Обратите внимание, что в будущих версиях платформы могут быть добавлены дополнительные типы вложенности.

Пример: Классы ниже аннотированы своим типом вложенности.


 import java.lang.annotation.*;
 import static java.lang.annotation.RetentionPolicy.*;
 import javax.lang.model.element.*;
 import static javax.lang.model.element.NestingKind.*;

 @Nesting(TOP_LEVEL)
 public class NestingExamples {
     @Nesting(MEMBER)
     static class MemberClass1{}

     @Nesting(MEMBER)
     class MemberClass2{}

     public static void main(String... argv) {
         @Nesting(LOCAL)
         class LocalClass{};

         Class<?>[] classes = {
             NestingExamples.class,
             MemberClass1.class,
             MemberClass2.class,
             LocalClass.class
         };

         for(Class<?> clazz : classes) {
             System.out.format("%s is %s%n",
                               clazz.getName(),
                               clazz.getAnnotation(Nesting.class).value());
         }
     }
 }

 @Retention(RUNTIME)
 @interface Nesting {
     NestingKind value();
 }
 
С тех пор:
1.6

Краткое описание вложенных классов

Вложенные классы/интерфейсы, объявленные в классе java.lang.Enum

Enum.EnumDesc<E extends Enum<E>>

Краткое описание констант перечисления

Константа перечисления Описание
ANONYMOUS
Класс без имени.
LOCAL
Именованный класс или интерфейс, объявленный внутри конструкции, отличной от класса или интерфейса.
MEMBER
Класс или интерфейс, являющийся именованным членом другого класса или интерфейса.
TOP_LEVEL
Класс или интерфейс верхнего уровня, не содержащийся внутри другого класса или интерфейса.

Краткое описание методов

Модификатор и тип Метод Описание
boolean isNested()
Соответствует ли эта константа вложенному элементу типа?
static NestingKind valueOf(String name)
Возвращает константу перечисления этого класса с указанным именем.
static NestingKind[] values()
Возвращает массив, содержащий константы этого класса перечисления в порядке их объявления.

Методы, объявленные в классе java.lang.Enum

clone, compareTo, describeConstable, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf

Методы, объявленные в классе java.lang.Object

getClass, notify, notifyAll, wait, wait, wait

Подробное описание констант перечисления

TOP_LEVEL

public static final NestingKind TOP_LEVEL
Класс или интерфейс верхнего уровня, не содержащийся внутри другого класса или интерфейса.

MEMBER

public static final NestingKind MEMBER
Класс или интерфейс, являющийся именованным членом другого класса или интерфейса.
См. Спецификацию языка Java:
8.5 Объявления классов и интерфейсов-членов

LOCAL

public static final NestingKind LOCAL
Именованный класс или интерфейс, объявленный внутри конструкции, отличной от класса или интерфейса.
См. Спецификацию языка Java:
14.3 Объявления локальных классов и интерфейсов

ANONYMOUS

public static final NestingKind ANONYMOUS
Класс без имени.
См. Спецификацию языка Java:
15.9.5 Объявления анонимных классов

Подробное описание методов

values

public static NestingKind[] values()
Возвращает массив, содержащий константы этого класса перечисления в порядке их объявления.
Возвращает:
массив, содержащий константы этого класса перечисления в порядке их объявления

valueOf

public static NestingKind valueOf(String name)
Возвращает константу перечисления этого класса с указанным именем. Строка должна точно совпадать с идентификатором, используемым для объявления константы перечисления в этом классе. (Вспомогательные символы пробела недопустимы.)
Параметры:
name - имя возвращаемой константы перечисления.
Возвращает:
константу перечисления с указанным именем
Исключения:
IllegalArgumentException - если в этом классе перечисления нет константы с указанным именем
NullPointerException - если аргумент равен null

isNested

public boolean isNested()
Соответствует ли эта константа вложенному элементу типа? Элемент вложенного типа — это любой, который не является верхнего уровня. Более конкретно, элемент внутреннего типа — это любой вложенный элемент типа, который не является статическим.
Возвращает:
является ли константа вложенной
См. Спецификацию языка Java:
14.3 Объявления локальных классов и интерфейсов

© 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.
https://download.java.net/java/early_access/jdk24/docs/api/java.compiler/javax/lang/model/element/NestingKind.html

Spec-Zone.ru

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