@Target Annotation的使用
@Target Annotation表示的是这个Annotation可以应用在哪里,是对Annotation应用的限制,如果没有这个标识的话,Annotation可以用在任何地方,比如类上,方法上,变量、属性上等,可以从java.lang.Enum.ElementType这个枚举里选择。
1、只能用在方法上的限制的应用
java 代码
- package com.test;
- import java.lang.annotation.ElementType;
- import java.lang.annotation.Target;
- @Target(ElementType.METHOD)
- public @interface TargetTest {
- String hello();
- }
java 代码
- package com.test;
- public class TargetClass {
- @TargetTest(hello = "abc")
- public void doSomething()
- {
- System.out.println("do something");
- }
- }
2、只能用于类上的限制应用
java 代码
- package com.test;
- import java.lang.annotation.ElementType;
- import java.lang.annotation.Target;
- @Target(ElementType.TYPE)
- public @interface TargetTest {
- String hello();
- }
java 代码
- package com.test;
- @TargetTest(hello = "abc")
- public class TargetClass {
- public void doSomething()
- {
- System.out.println("do something");
- }
- }