R - 这个访问者的方法的返回类型。
对不需要返回结果的访问者使用Void 。
P - 访问者方法的附加参数类型。
对不需要Void的访问者使用Void。
@SupportedSourceVersion(value=RELEASE_8) public class ElementKindVisitor8<R,P> extends ElementKindVisitor7<R,P>
RELEASE_8源版本。
对于可能有多种类型的elements XYZ ,此类中的visitXYZ方法委托给对应于第一个参数类型的visitXYZKind方法。
visitXYZKind方法调用defaultAction ,将其参数传递给defaultAction的相应参数。
本课程中的方法可能会因其总体合同而被覆盖。 需要注意的是注释方法,具体子类与@Override将有助于确定那些打算重写的方法。
警告:由此ElementVisitor实现的ElementVisitor接口可能添加了方法,或者在这种情况下使用的ElementKind 枚举可能会在将来添加常量以适应未来版本的Java的“新的,当前未知的”语言结构编程语言
因此, "visit"可以将名称以"visit"开头的方法添加到此类中; 为了避免不兼容,扩展此类的类不应声明任何以"visit"实例方法。
当添加这种新的访问方法时,此类中的默认实现将是调用visitUnknown方法。
还将引入一个新的抽象元素类访客类,以对应于新的语言级别; 该访问者对于访问方法将具有不同的默认行为。 当新访客被介绍时,全部或部分访问者可能会被弃用。
请注意,在访问者类中添加新的访问方法的默认实现将发生,而不是直接在访问者界面中添加默认方法 ,因为Java SE 8语言功能不能用于此版本的API,因为此版本需要可以在Java SE 7实现中运行。 仅在Java SE 8及更高版本上运行的API的未来版本可能会在这种情况下利用默认方法。
ElementKindVisitor6 , ElementKindVisitor7
DEFAULT_VALUE
| Modifier | Constructor and Description |
|---|---|
protected |
ElementKindVisitor8()
具体子类的构造方法
使用
null作为默认值。
|
protected |
ElementKindVisitor8(R defaultValue)
具体子类的构造方法
使用参数作为默认值。
|
visitVariableAsResourceVariable
visitExecutable,
visitExecutableAsConstructor,
visitExecutableAsInstanceInit,
visitExecutableAsMethod,
visitExecutableAsStaticInit,
visitPackage,
visitType,
visitTypeAsAnnotationType,
visitTypeAsClass,
visitTypeAsEnum,
visitTypeAsInterface,
visitTypeParameter,
visitVariable,
visitVariableAsEnumConstant,
visitVariableAsExceptionParameter,
visitVariableAsField,
visitVariableAsLocalVariable,
visitVariableAsParameter
defaultAction
visit,
visit,
visitUnknown
protected ElementKindVisitor8()
null作为默认值。
protected ElementKindVisitor8(R defaultValue)
defaultValue - 分配给
SimpleElementVisitor6.DEFAULT_VALUE的值