1. APT (Annotation Processing Tool)

是一种处理注释的工具,它对源代码文件进行检测并找出其中的Annotation ,根据注解自动生成代码

如果想要自定义的注解处理器能够正常运行,必须要通过 APT 工具来处理

也可以这样理解,只有通过声明 APT 工具后,程序在编译期间自定义注解处理器才能正常运行

简单理解:根据规则,帮我们生成代码、生成类文件

2. 结构体语言

eg: html 也是一种结构体语言

<html>
	<body>
		<div>...</div>
	</body>
</html>

对于 Java 文件来说,它同样也是一种结构体语言:

package com.york.butterknife.bindinglibrary;    //PackageElement 包元素/节点

public class Main {								//TypeElement    类元素/节点

    private int value;						    //VariableElement 属性元素/节点

    public Main(){								//ExecuteableElement 方法元素/节点

    }
}

2.1 PackageElement

表示一个包程序元素。提供对有关包及其成员的信息的访问

2.2 ExecuteableElement

表示某个类或接口的方法。提供对有关类型及其成员的信息的访问

2.3 TypeElement

表示一个类或接口元素。提供对有关类型及其成员的信息的访问

2.4 VariableElement

表示一个字段、enum 常量、方法或构造方法参数、局部变量或异常参数

2.5 需要掌握的 API

属性名
getEnclosedElements()返回该元素直接包含的子元素,eg: 包节点下就是类节点
getEnclosingElement()返回该Element的父element,与上一个方法相反,eg: 类节点上就是包节点
getKind()返回 element 类型,判断是哪种 element
getModifiers()获取修饰关键字,如 public static final …
getSimpleName()获取名字,不带包名
getQualifiedName()获取全名,如果是类的话,包含完整的包名路径
getParameters()获取方法的参数元素,每个元素是一个 VariableElement
getReturnType()获取方法元素的返回值
getConstantValue()如果属性元素被 final 修饰,则可以使用该方法获取它的值
Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐