?????????????????У???????????????????????????д???????????????????????????????????????

????????????????????@???????????????????Java??????????Java SE5???????????????

????@Override????????????????彫????????е??????

????@Deprecated????????????????????????????????棬??????@Deprecated???????????????????????

????@SuppressWarnings???????????????????????

?????????????????????????????д??????????????Java??????4??????????????????????

@Target
 

???????????????????????????ElementType?????У?

CONSTRUCTOR??????????????

FIELD??????????????enum?????

LOCAL_VARIABLE?????????????

METHOD??????????

PACKAGE????????

PARAMETER??????????

TYPE??????????????????????enum????

@Retention
 

??????????????????????????????RetentionPolicy??????????

SOURCE?????????????????

CLASS???????class????п????????VM????

RUNTIME??VM???????????????????????????????????????????

@Document
 

??????????Javadoc??

@Inherited
 

?????????и????е????

???????????????????

1 @Target(ElementType.METHOD)
2 @Retention(RetentionPolicy.RUNTIME)
3 public @interface Test {
4
5 }

????????@??????????????????????????????????????????????????@Target??@RetentionPolicy??????????????????????????????

??????????????????Щ????????Щ?????????????????????????????????????????????????????????????????????????@Test???????????

??????????????????????????????л????????String??Class??enum??Annotation???????????????????????????в?????????????????????????????????????????????????????????null????????????????????????????????????value??????£???????????????????“value=”?????д?????????ɡ?

???????濴????????????????

@Target(ElementType.METHOD)
 @Retention(RetentionPolicy.RUNTIME)
 public @interface UseCase {
      public String id();
      public String description() default "no description";
 }