- Annotation是一种引用数据类型,编译后也是生成xxx.class文件 ```java [修饰符] @interface 注解类型名{
}
/**
- 自定义注解 */ public @interface MyAnnotation { }
<a name="knZUf"></a>#### 注解怎么用,用在什么地方- @注解类型名- 可以出现在类,属性,方法,变量上,还可以出现在注解上<a name="UyrVB"></a>#### JDk内置的注解<a name="jaVOx"></a>#### 元注解**用来标注注解的注解称为元注解**- **Target**- **用来标注被标注的注解可以出现在哪些位置上**- **@Taerget(ElcemrntType.METHOD) --可以出现在方法上**- **@Retention**- @Retention(RetentionPolicy._RUNTIME_)表示该注解被保存在class文件中,并且可以被反射机制读取- @Retention(RetentionPolicy._SOURCE_)表示该注解保存在class文件中- @Retention(RetentionPolicy._CLASS_)表示该注解保存在java源文件中<a name="HrMMD"></a>#### 注解中的属性```javapublic @interface MyAnnotation{/*属性name*/String name();String color() default "red";}public class MyAnnotationTest01{@MyAnnotation(name = "test")public void test(){}}如果属性名是value,属性名可以不写
属性可以是哪些类型!
public @interface MyAnnotation{属性的类型byte short int long float double boolean char String Class 枚举以及以上的数组}
