注解java:
package com.hsb.annotation;
import java.lang.annotation.*;
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD)
public @interface MyAnnotation {
String value() default "";
String getName() default "haha";
}
測試java :
package com.hsb.annotation;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
public class AnnotationMain {
@MyAnnotation("sdf")
public String getTes() {
return "heshai";
}
public void print() {
System.out.println("-------- AnnotationMain ---*--- print --------: " + "ddd");
}
public static void main(String[] args) {
Method[] an = AnnotationMain.class.getMethods();
for (Method m : an) {
if (m.isAnnotationPresent(MyAnnotation.class)){
System.out.println("-------- AnnotationMain ---*--- main --------: " + m.getName());
System.out.println("-------- AnnotationMain ---*--- main --------: " + m.getReturnType().getName());
MyAnnotation annotation = m.getAnnotation(MyAnnotation.class);
System.out.println("-------- AnnotationMain ---*--- main --------: " + annotation.value());
System.out.println("-------- AnnotationMain ---*--- main --------: " + annotation.getName());
try {
System.out.println("-------- AnnotationMain ---*--- main --------: " + m.invoke(AnnotationMain.class.newInstance(), null));
} catch (IllegalArgumentException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (InvocationTargetException e) {
e.printStackTrace();
} catch (InstantiationException e) {
e.printStackTrace();
}
}
}
}
}
本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請
點(diǎn)擊舉報。