-------android培训、java培训、期待与您交流! ----------
package cn.itcast.day2;
import java.lang.reflect.Method;
import java.util.Arrays;
import cn.itcast.day1.EnumTest.Weekday;
@WHBAnnotation(value="hello annotaion",color="blue",
arrayAttr={3,4,5},weekday=Weekday.MON,
annotationAttr=@MetaAnnotation(color="dark"))
public class AnotationTest
{
@SuppressWarnings("deprecation")
@WHBAnnotation("method annotation")
public static void main(String[] args) throws SecurityException, NoSuchMethodException
{
AnotationTest.sayHello();//此处真的没必要加suppressWarnings吗?
System.runFinalizersOnExit(true);
//获取类上的annotation
if(AnotationTest.class.isAnnotationPresent(WHBAnnotation.class))
{
//由字节文件获取到上边的Annotation
WHBAnnotation annotation = AnotationTest.class.getAnnotation(WHBAnnotation.class);
System.out.println(annotation.color());
System.out.println(annotation.value());
System.out.println(Arrays.toString(annotation.arrayAttr()));
System.out.println(annotation.weekday().nextDay());
System.out.println(annotation.annotationAttr().value());
}
//获取方法上的annotation
Method methodMain = AnotationTest.class.getMethod("main", String[].class);
if(methodMain.isAnnotationPresent(WHBAnnotation.class))
{
WHBAnnotation annotation = methodMain.getAnnotation(WHBAnnotation.class);
System.out.println(annotation.value());
}
}
@Deprecated //注解的使用
public static void sayHello()
{
System.out.println("hello world");
System.runFinalizersOnExit(true);
}
}