- 所有已实现的接口:
Serializable
,Comparable<NestingKind>
,Constable
这嵌套类类型元素。类型元素有四种类型:顶级、成员、本地和匿名。嵌套类是此处用于表示此分类的非标准术语。
请注意,在平台的未来版本中可能会添加其他内部类型。
示例:下面的类用它们的内部类型进行了注解。
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>>
-
枚举常量总结
枚举常量 -
方法总结
修饰符和类型方法描述boolean
isNested()
这个常量是否对应于内部类型元素?static NestingKind
返回具有指定名称的此类的枚举常量。static NestingKind[]
values()
返回一个数组,其中包含此枚举类的常量,按照它们声明的顺序排列。
-
枚举常量详细信息
-
TOP_LEVEL
顶级类或接口,不包含在另一个类或接口中。 -
MEMBER
作为另一个类或接口的命名成员的类或接口。- 看Java 语言规范:
-
8.5 成员类和接口声明
-
LOCAL
在类或接口以外的构造中声明的命名类或接口。- 看Java 语言规范:
-
14.3 本地类声明
-
ANONYMOUS
一个没有名字的类。- 看Java 语言规范:
-
15.9.5 匿名类声明
-
-
方法详情
-
values
返回一个数组,其中包含此枚举类的常量,按照它们声明的顺序排列。- 返回:
- 包含此枚举类常量的数组,按照它们声明的顺序排列
-
valueOf
返回具有指定名称的此类的枚举常量。字符串必须匹配确切地用于在此类中声明枚举常量的标识符。 (不允许使用无关的空白字符。)- 参数:
name
- 要返回的枚举常量的名称。- 返回:
- 具有指定名称的枚举常量
- 抛出:
IllegalArgumentException
- 如果此枚举类没有具有指定名称的常量NullPointerException
- 如果参数为空
-
isNested
public boolean isNested()这个常量是否对应于内部类型元素? A嵌套类型元素是任何非顶级元素。更具体地说,一个内类型元素是任何不是 静止的 的嵌套类型元素。- 返回:
- 常量是否嵌套
- 看Java 语言规范:
-
14.3 本地类声明
-