Java教程

java解析注解

本文主要是介绍java解析注解,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

自定义注解

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解析注解的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!