package com.guaji.exer;
import static java.lang.annotation.ElementType.CONSTRUCTOR;
import static java.lang.annotation.ElementType.FIELD;
import static java.lang.annotation.ElementType.LOCAL_VARIABLE;
import static java.lang.annotation.ElementType.METHOD;
import static java.lang.annotation.ElementType.PARAMETER;
import static java.lang.annotation.ElementType.TYPE;
import java.lang.annotation.Inherited;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
@Target({TYPE, FIELD, METHOD, PARAMETER, CONSTRUCTOR, LOCAL_VARIABLE})
@Retention(RetentionPolicy.RUNTIME)
@Inherited
public @interface MyAnnotation {
String value() default "hello";
}
package com.guaji.exer;
import java.lang.annotation.Annotation;
import java.sql.Date;
import org.junit.Test;
@MyAnnotation("helloWorld")
class Person{
private String name;
private String sex;
public Person(){}
public Person(String name, String sex) {
super();
this.name = name;
this.sex = sex;
}
public void show(){
System.out.println("姓名:"+name+"性别:"+sex);
}
}
class Student extends Person{
@Override
public void show() {
super.show();
}
}
public class AnnotationExer {
@Test
public void Test1(){
Class clazz=Student.class;
Annotation[] annotations = clazz.getAnnotations();
for (int i = 0; i < annotations.length; i++) {
System.out.println(annotations[i]);
}
}
public static void main(String[] args) {
Date date = new Date(213213213L);
java.util.Date date2 = new java.util.Date(3213L);
}
}