首页 > 编程语言 > 详细

java解析注解

时间:2021-05-04 23:23:56      阅读:28      评论:0      收藏:0      [点我收藏+]

自定义注解

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
public @interface Pro {
    String className();
    String methodName();
}

解析注解

import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;

@Pro(className = "mystring.demo4.Student",methodName = "say")
public class ProTest {
    public static void main(String[] args) throws ClassNotFoundException, IllegalAccessException, InstantiationException, NoSuchMethodException, InvocationTargetException {

        //解析注解
        Class<ProTest> proTestClass = ProTest.class;
        //获取注解对象
        Pro annotation = proTestClass.getAnnotation(Pro.class);
        //获取注解属性
        String className = annotation.className();
        String methodName = annotation.methodName();

        //类反射
        Class<?> aClass = Class.forName(className);
        Object instance = aClass.newInstance();
        Method method = aClass.getMethod(methodName);
        method.invoke(instance);
    }
}


java解析注解

原文:https://www.cnblogs.com/codegzy/p/14729915.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!