package com.day2;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
@Target({ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
public @interface Test {
}
package com.day2;
public class User {
@Test
public void getName()
{
System.out.println("刘诗华测试");
}
@Test
public void getTel()
{
System.out.println("15390725037");
}
}
package com.day2;
import java.lang.reflect.Method;
import java.util.ArrayList;
import java.util.List;
public class Junit5 {
public static void main(String[] args) throws Exception {
Class clazz = Class.forName("com.day2.User");
Object obj = clazz.newInstance();
Method[] list = clazz.getDeclaredMethods();
List<Method> arr=new ArrayList<>();
for (Method m : list) {
boolean b = m.isAnnotationPresent(Test.class);
if(b)
{
arr.add(m);
}
}
for (Method m : arr) {
m.invoke(obj);
}
}
}