Module java.compiler

Enum Class 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();
 }
 
自 JDK 版本:
1.6
  • Enum Constant Details

    • 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 匿名类声明
  • Method Details

    • values

      public static NestingKind[] values()
      返回按声明顺序排列的此枚举类的常量数组。
      返回:
      按声明顺序排列的此枚举类的常量数组
    • valueOf

      public static NestingKind valueOf(String name)
      返回具有指定名称的此类的枚举常量。字符串必须与此类中用于声明枚举常量的标识符完全匹配。(不允许存在多余的空白字符。)
      参数:
      name - 要返回的枚举常量的名称。
      返回:
      具有指定名称的枚举常量
      抛出:
      IllegalArgumentException - 如果此枚举类没有具有指定名称的常量
      NullPointerException - 如果参数为 null
    • isNested

      public boolean isNested()
      此常量是否对应于嵌套类型元素?嵌套类型元素是任何不是顶层的类型元素。更具体地说,内部类型元素是任何不是静态的嵌套类型元素。
      返回:
      常量是否为嵌套的
      参见 Java 语言规范:
      14.3 局部类声明