Java注解(Annotation)是Java 5开始引入的一种注释机制,是一种元数据,能够以注解的形式声明代码的一些特定信息,与Javadoc不同,注解可以通过反射获取到注解内容,因此注解也被称为元数据。
Java 提供了四种元注解,专门负责注解其他的注解,分别是:
除了这四个元注解,Java 还提供了一些用于声明注解的元素的注解,包括:
Java中内置的一些注解,如:
除了内置注解,Java还支持自定义注解,可以通过 @interface 关键字定义注解,如下所示:
public @interface MyAnnotation { String value() default ""; }
其中,value() 方法是注解的一个元素,可以通过 MyAnnotation 注解来访问该元素,如下所示:
@MyAnnotation("hello") public class MyClass { ... }
自定义注解还可以有默认值,如下所示:
public @interface MyAnnotation { String value() default ""; int age() default 18; }
在使用时,可以直接使用默认值,也可以设置成自己想要的值,如下所示:
@MyAnnotation public class MyClass { ... } @MyAnnotation(value = "hello", age = 20) public class MyClass2 { ... }
使用注解可以给代码添加更多的信息,比如给方法添加相应的注释:
public class Test { @MyAnnotation(value = "hello") public void sayHello() { System.out.println("Hello World!"); } }
也可以给类添加注解:
@MyAnnotation(value = "hello") public class Test { ... }
在程序中,可以使用反射获取到类、方法或者字段中的注解信息,如下所示:
// 获取类上的注解 MyAnnotation annotation = Test.class.getAnnotation(MyAnnotation.class); // 获取方法上的注解 MyAnnotation annotation = Test.class.getMethod("sayHello").getAnnotation(MyAnnotation.class); // 获取字段上的注解 MyAnnotation annotation = Test.class.getDeclaredField("name").getAnnotation(MyAnnotation.class);
Java注解是一种声明式的编程方式,可以为代码添加更多的信息,使代码更加简洁、易读。除了内置注解外,Java还支持自定义注解,可以根据自己的需求来定义注解,并在代码中使用。不过,在使用注解时,也要注意不要过度使用,避免代码过于复杂难以维护。
本文为翻滚的胖子原创文章,转载无需和我联系,但请注明来自猿教程iskeys.com