java自定义注解
作者:互联网
* 1.自定义注解
-
新注解创建需要使用的注解: 1.@Target 表示该注解可以用于什么地方,可能的ElementType参数有: CONSTRUCTOR:构造器的声明 FIELD:域声明(包括enum实例) LOCAL_VARIABLE:局部变量声明 METHOD:方法声明 PACKAGE:包声明 PARAMETER:参数声明 TYPE:类、接口(包括注解类型)或enum声明 2.@Retention 表示需要在什么级别保存该注解信息。可选的RetentionPolicy参数包括: SOURCE:注解将被编译器丢弃 CLASS:注解在class文件中可用,但会被VM丢弃 RUNTIME:VM将在运行期间保留注解,因此可以通过反射机制读取注解的信息
* 2.使用注解
public class Persion {
@MyAnno(hello = "world")
public void printName(int N){
}
}
* 3.解析注解
public static void main(String[] args){
try{
Class personClass=Class.forName("com.example.demo.anno.Persion");
Method personMethod=personClass.getMethod("printName", int.class);//配置在谁上,就在谁上获取
if(personMethod.isAnnotationPresent(MyAnno.class)){//先判断是否存在
System.out.println("Persoin类上配置了MethodAnnotation注解");
MyAnno methodAnnotation =personMethod.getAnnotation(MyAnno.class);//使用
System.out.println("name="+ methodAnnotation.hello());
}
}catch (ClassNotFoundException | NoSuchMethodException e){
e.printStackTrace();
}
}
标签:java,自定义,personMethod,public,MyAnno,注解,声明,class 来源: https://blog.csdn.net/qq_41557799/article/details/113694368