-
注解的生命周期查看全部
-
注解的target查看全部
-
注解的注解查看全部
-
注解分类查看全部
-
注解查看全部
-
注解的继承性(不可用在接口上),只会继承类上的注解,不会继承方法上的注解
查看全部 -
使用自定义注解的语法
查看全部 -
自定义注解——语法要求<br><br>
1:使用@interface关键字定义注解<br><br>
2:成员方法以无参无异常的方式声明<br><br>
3:可以使用default为成员方法指定一个默认值<br>
4:成员的类型是有限制的,合法的成员类型包括原始类型/String/Class/Annotation/Enumeration<br>
5:如果注解只有一个成员,则成员名必须取名为value(),在使用时可以忽略成员名和赋值号(=)<br>
6:注解类可以没有成员,没有成员的注解成为标识注解
定义注解,关键是要会使用元注解来注解自定义注解。元注解包括:
1. @Target:说明了Annotation所修饰对象的范围。
2. @Retention:表明该Annotation被保留的时间长短。取值包括:SOURCE、CLASS、RUNTIME。
3. @Documented:描述其他类型的Annotation应该被作为被标注的程序成员的公共API。
4. Inherited:用来阐述某个被标注的类型是被继承的。查看全部 -
java中常用注解
查看全部 -
元注解。
查看全部 -
注解分类
查看全部 -
查看全部
-
### 1. 为什么要使用注解 - 能看懂别人的代码,特别是源码; - 使代码简洁; - 装逼,让别人高看你; ### 2. 注解的分类 #### 2.1 按运行机制分类 - 源码注解:注解只在源码中存在,编译成.class文件就不存在了; - 编译时注解:在源码和.class文件中都存在。@Override @Desperated @Suppvisewarnings JDK自带的注解都是编译时注解,只在编译时起作用,告诉编译器按照指令来编译,如果没有则报编译时错误。 - 运行时注解:在运行时起作用,会影响运行逻辑的。 #### 2.2 按照来源分类 - JDK自带的注解; - 来自第三方的注解; - 自定义的注解; #### 2.3 元注解 注解的注解,给注解做注解。 ### 3.自定义注解 #### 3.1 自定义注解的语法 - @interface 来定义一个注解 - 成员:类似接口中的方法,但是是无参无异常的。成员类型必须是原始数据类型和String、Class、Annotation、Enumeration。如果成员只有一个,那么这个成员必须取名为value(),使用时可以忽略成员名和赋值号(=)。 - 注解类可以没有成员,没有成员的注解叫做标识注解。 #### 3.2 元注解 注解的注解。 - @Target({ElementType.METHORD,ElementType.TYPE}):作用域,几乎包含了所有的Java元素; - @Retention(RetentionPolicy.RUNTIME):生命周期,SOURCE,RUNTIME,CLASS三种; - @Inherited:标示性的元注解,允许子类继承父类的注解。只能继承类的注解,接口不行。 - @Documented:生成javadoc的时候会包含注解; #### 3.3 使用自定义注解 语法:@注解名(<成员1> = <成员1的值>,<成员2> = <成员2的值>,....) 使用注解的时候注意作用域。 ### 4. 解析注解 原理:通过反射获取类,函数,或成员上的**运行时**注解信息,从而实现动态控制程序运行逻辑。
查看全部 -
查看全部
-
查看全部
举报