与注释不同,注解可以被其他程序读取。
内置注解:
@SuppressWarnings参数:
元注解 :
用来注解其它注解的注解。
1.@Target:使用的位置。包括:
- TYPE 意味着,它能标注"类、接口(包括注释类型)或枚举声明"。
- FIELD 意味着,它能标注"字段声明"。
- METHOD 意味着,它能标注"方法"。
- PARAMETER 意味着,它能标注"参数"。
- CONSTRUCTOR 意味着,它能标注"构造方法"。
- LOCAL_VARIABLE 意味着,它能标注"局部变量"。
2.@Retention:生命周期。包括:
source:注解只保留在源文件,当Java文件编译成class文件的时候,注解被遗弃;被编译器忽略
class:注解被保留到class文件,但jvm加载class文件时候被遗弃,这是默认的生命周期
runtime:注解不仅被保存到class文件中,jvm加载class文件之后,仍然存在
这3个生命周期分别对应于:Java源文件(.java文件) ---> .class文件 ---> 内存中的字节码。
3.@Documented:标记这些注解是否包含在用户文档中。
4.@Inherited:标记这个注解是继承于哪个注解类(默认注解并没有继承于任何子类)。
自定义注解:
格式:
例如,一个自定义注释,里面含有一个int类型的值,默认为6。
定义:
import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; @Target({ElementType.METHOD})//使用的位置 @Retention(RetentionPolicy.RUNTIME)//生命周期 public @interface MyAnnotaion {
int value() default 6;//参数为int类型,名字为value,默认值为6 }
使用,设置值为7(值为单个可省):
@MyAnnotaion(7) public static void main(String[] args) throws Exception{ }
标签:文件,java,自定义,class,Java,注解,Annotation,标注 From: https://www.cnblogs.com/lurenjia-bky/p/16907340.html