美文网首页
模仿java的@Test

模仿java的@Test

作者: 陈柴盐 | 来源:发表于2018-11-25 23:53 被阅读0次

定义注解

@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD)
public @interface MyTest {

}

使用自定义注解

    @MyTest
    public void method1(){
        System.out.println("方法1");
    }

    public void method2() {
        System.out.println("方法2");
    }

    @MyTest
    public  void method3() {
        System.out.println("方法3");
    }

解析注解

    public static void main(String[] args) throws Exception {
        
        //获取Class对象
        Class<MyTestTest> testClass = MyTestTest.class;
        //获取MyTestTest类中的所有方法的对象
        Method[] methods = testClass.getMethods();
        for (Method method : methods) {
            //判断该方法是否存在注解@MyTest
            if (method.isAnnotationPresent(MyTest.class)) {
                System.out.println("method = " + method);
                //获取MyTestTest类的构造器并创建对象
                MyTestTest myTestTest=MyTestTest.class.getConstructor().newInstance();
                //调用方法
                method.invoke(myTestTest);
            }
        }
    }

相关文章

网友评论

      本文标题:模仿java的@Test

      本文链接:https://www.haomeiwen.com/subject/nixvqqtx.html