- 所有已实现的接口:
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>> -
枚举常量总结
枚举常量 -
方法总结
修饰符和类型方法描述booleanisNested()这个常量是否对应于内部类型元素?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 本地类声明
-