uTools-Manuals/docs/java/javax/lang/model/element/package-summary.html

215 lines
11 KiB
HTML
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<div class="header">
<h1 class="title" title="Package">Package javax.lang.model.element</h1>
<div class="docSummary">
<div class="block">
用于建模Java编程语言元素的接口。
</div>
</div>
<p>See: <a href="#package.description">描述</a></p>
</div><div class="contentContainer">
<ul class="blockList">
<li class="blockList">
<table border="0" cellpadding="3" cellspacing="0" class="typeSummary" summary="Interface Summary table, listing interfaces, and an explanation">
<caption>
<span>接口摘要</span>
<span class="tabEnd"> </span>
</caption>
<tbody>
<tr>
<th class="colFirst" scope="col">接口</th>
<th class="colLast" scope="col">描述</th>
</tr>
</tbody>
<tbody>
<tr class="altColor">
<td class="colFirst"><a href="../../../../javax/lang/model/element/AnnotationMirror.html" title="interface in javax.lang.model.element">AnnotationMirror</a></td>
<td class="colLast">
<div class="block">
表示注释。
</div> </td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../javax/lang/model/element/AnnotationValue.html" title="interface in javax.lang.model.element">AnnotationValue</a></td>
<td class="colLast">
<div class="block">
表示注释类型元素的值。
</div> </td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../javax/lang/model/element/AnnotationValueVisitor.html" title="interface in javax.lang.model.element">AnnotationValueVisitor</a>&lt;R,P&gt;</td>
<td class="colLast">
<div class="block">
注释类型元素的值的访问者,使用访问者设计模式的变体。
</div> </td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../javax/lang/model/element/Element.html" title="interface in javax.lang.model.element">Element</a></td>
<td class="colLast">
<div class="block">
表示程序元素,如程序包,类或方法。
</div> </td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../javax/lang/model/element/ElementVisitor.html" title="interface in javax.lang.model.element">ElementVisitor</a>&lt;R,P&gt;</td>
<td class="colLast">
<div class="block">
游客的程式元素,以访客设计风格为格局。
</div> </td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../javax/lang/model/element/ExecutableElement.html" title="interface in javax.lang.model.element">ExecutableElement</a></td>
<td class="colLast">
<div class="block">
表示类或接口的方法,构造函数或初始化器(静态或实例),包括注释类型元素。
</div> </td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../javax/lang/model/element/Name.html" title="interface in javax.lang.model.element">Name</a></td>
<td class="colLast">
<div class="block">
一个不可变的人物序列。
</div> </td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../javax/lang/model/element/PackageElement.html" title="interface in javax.lang.model.element">PackageElement</a></td>
<td class="colLast">
<div class="block">
表示包程序元素。
</div> </td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../javax/lang/model/element/Parameterizable.html" title="interface in javax.lang.model.element">Parameterizable</a></td>
<td class="colLast">
<div class="block">
用于具有类型参数的元素的mixin接口。
</div> </td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../javax/lang/model/element/QualifiedNameable.html" title="interface in javax.lang.model.element">QualifiedNameable</a></td>
<td class="colLast">
<div class="block">
用于具有限定名称的元素的mixin接口。
</div> </td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../javax/lang/model/element/TypeElement.html" title="interface in javax.lang.model.element">TypeElement</a></td>
<td class="colLast">
<div class="block">
表示一个类或接口程序元素。
</div> </td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../javax/lang/model/element/TypeParameterElement.html" title="interface in javax.lang.model.element">TypeParameterElement</a></td>
<td class="colLast">
<div class="block">
表示通用类,接口,方法或构造函数元素的正式类型参数。
</div> </td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../javax/lang/model/element/VariableElement.html" title="interface in javax.lang.model.element">VariableElement</a></td>
<td class="colLast">
<div class="block">
表示一个字段,
<code>枚举</code>常量,方法或构造函数参数,局部变量,资源变量或异常参数。
</div> </td>
</tr>
</tbody>
</table> </li>
<li class="blockList">
<table border="0" cellpadding="3" cellspacing="0" class="typeSummary" summary="Enum Summary table, listing enums, and an explanation">
<caption>
<span>枚举摘要</span>
<span class="tabEnd"> </span>
</caption>
<tbody>
<tr>
<th class="colFirst" scope="col">Enum</th>
<th class="colLast" scope="col">描述</th>
</tr>
</tbody>
<tbody>
<tr class="altColor">
<td class="colFirst"><a href="../../../../javax/lang/model/element/ElementKind.html" title="enum in javax.lang.model.element">ElementKind</a></td>
<td class="colLast">
<div class="block">
一个元素的
<code>kind</code>
</div> </td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../javax/lang/model/element/Modifier.html" title="enum in javax.lang.model.element">Modifier</a></td>
<td class="colLast">
<div class="block">
表示程序元素(如类,方法或字段)上的修饰符。
</div> </td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../javax/lang/model/element/NestingKind.html" title="enum in javax.lang.model.element">NestingKind</a></td>
<td class="colLast">
<div class="block">
一种类型元素的
<i>嵌套</i>类型。
</div> </td>
</tr>
</tbody>
</table> </li>
<li class="blockList">
<table border="0" cellpadding="3" cellspacing="0" class="typeSummary" summary="Exception Summary table, listing exceptions, and an explanation">
<caption>
<span>异常摘要</span>
<span class="tabEnd"> </span>
</caption>
<tbody>
<tr>
<th class="colFirst" scope="col">异常</th>
<th class="colLast" scope="col">描述</th>
</tr>
</tbody>
<tbody>
<tr class="altColor">
<td class="colFirst"><a href="../../../../javax/lang/model/element/UnknownAnnotationValueException.html" title="class in javax.lang.model.element">UnknownAnnotationValueException</a></td>
<td class="colLast">
<div class="block">
表示遇到未知类型的注释值。
</div> </td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../javax/lang/model/element/UnknownElementException.html" title="class in javax.lang.model.element">UnknownElementException</a></td>
<td class="colLast">
<div class="block">
表示遇到未知类型的元素。
</div> </td>
</tr>
</tbody>
</table> </li>
</ul>
<a name="package.description">
<!-- --> </a>
<h2 title="Package javax.lang.model.element Description">Package javax.lang.model.element Description</h2>
<div class="block">
<span>用于建模Java编程语言元素的接口。</span>
<span>该包中的术语“元素”用于指代程序元素,构成程序的声明实体。</span>
<span>元素包括类,接口,方法,构造函数和字段。</span>
<span>该包中的接口不会对方法体内的程序的结构建模;</span>
<span>例如没有一个<code>for</code>循环或<code>try</code> - <code>finally</code>块的表示。</span>
<span>但是,这些接口可以建立一些仅显示在方法体内的结构,例如局部变量和匿名类。</span>
<p> <span>当在注释处理的上下文中使用时,必须返回正在表示的元素的精确模型。</span> <span>由于这是一个语言模型,源代码提供了有问题的构造的基准(引用)表示,而不是类似于一个类文件的可执行输出中的表示。</span> <span>可执行输出可以作为创建建模元素的基础。</span> <span>然而,将源代码转换为可执行输出的过程可能不允许恢复源代码表示的某些方面。</span> <span>例如source <a href="../../../../java/lang/annotation/RetentionPolicy.html#SOURCE">retention的</a> <a href="../../../../java/lang/annotation/Retention.html" title="java.lang.annotation中的注释">注释</a>无法从类文件中恢复,类文件可能无法提供源位置信息。</span> <span>参数名称可能无法从类文件中恢复。</span> <span>某些元素上的<a href="../../../../javax/lang/model/element/Modifier.html" title="javax.lang.model.element中的枚举">modifiers</a>可能会有所不同,包括:</span> </p>
<ul>
<li> <span><code>strictfp</code>在类或接口上</span> </li>
<li> <span><code>final</code>上的一个参数</span> </li>
<li> <span><code>protected</code> <code>private</code><code>static</code>的类和接口</span> </li>
</ul>
<span>另外,类文件中的合成结构(如用于实现嵌套类的访问器方法和用于实现协变式返回的桥接方法)是此模型之外的翻译工件。</span>
<p> <span>在注解处理过程中,需要对不完整或错误的程序进行操作;</span> <span>然而,关于结果模型的性质的担保较少。</span> <span>如果源代码在语法上没有格式化,或者有一些其他不可恢复的错误,不能通过生成新的类型来删除,则可能提供或不提供模型作为实现质量问题。</span> <span>如果一个程序在语法上是有效的,但是以某种其他方式是错误的,任何返回的模型都不能少于程序中的所有方法体被<code>"throw new RuntimeException();"</code>替换的<code>"throw new RuntimeException();"</code></span> <span>如果一个程序是指缺少类型XYZ则返回模型必须包含不超过若类型XYZ的声明被认为是较少的信息<code>"class XYZ {}"</code> <code>"interface XYZ {}"</code> <code>"enum XYZ {}"</code> ,或<code>"@interface XYZ {}"</code></span> <span>如果程序引用了缺少的类型<code>XYZ&lt;K1, ... ,Kn&gt;</code> 返回的模型必须包含的信息不超过假设XYZ的声明为<code>"class XYZ&lt;T1, ... ,Tn&gt; {}"</code><code>"interface XYZ&lt;T1, ... ,Tn&gt; {}"</code></span> </p>
<p> <span>除非在特定实现中另有规定,否则应该预期此程序包中方法返回的集合将被调用者不可修改,并且对并发访问是不安全的。</span> </p>
<p> <span>除非另有说明,在此包中的方法将抛出一个<code>NullPointerException</code>如果给一个<code>null</code>说法。</span> </p>
</div>
<dl>
<dt>
<span class="simpleTagLabel">从以下版本开始:</span>
</dt>
<dd>
1.6
</dd>
</dl>
</div>