@Target ({ElementType.METHOD}) (Retention (RetentionPolicy.RUNTIME)这俩个注解的作用
时间: 2024-03-09 20:35:59 浏览: 13
`@Target({ElementType.METHOD})` 注解表示该注解只能用于方法上,而不能用于其他地方,如类、属性等。
`@Retention(RetentionPolicy.RUNTIME)` 注解表示该注解在运行时保留,可以通过反射机制读取到这个注解的信息。这个注解还有其他两个值,分别是 `SOURCE` 和 `CLASS`,`SOURCE` 表示该注解只在源代码中保留,编译器会丢弃该注解;`CLASS` 表示该注解在编译时会被保留到字节码中,但在运行时会被丢弃,无法通过反射机制读取到该注解的信息。
相关问题
@Target(ElementType.METHOD) @Retention(RetentionPolicy.RUNTIME)
这段代码是 Java 中的注解,用于指定注解的作用范围和生命周期。其中,@Target 注解用于指定注解可以作用的元素类型,如方法、类、字段等;@Retention 注解用于指定注解的生命周期,如在编译时、运行时或者是在类加载时保留。在这段代码中,@Target(ElementType.METHOD) 表示该注解可以作用在方法上,@Retention(RetentionPolicy.RUNTIME) 表示该注解的生命周期为运行时。
@Target(ElementType.METHOD) @Retention(RetentionPolicy.RUNTIME) @Documented解释上述代码
@Target(ElementType.METHOD) @Retention(RetentionPolicy.RUNTIME) @Documented是Java中的三个注解,用于定义自定义注解的属性。其中,@Target用于指定注解可以应用于哪些元素上,@Retention用于指定注解的生命周期,@Documented用于指定注解是否包含在JavaDoc中。
具体来说,@Target(ElementType.METHOD)表示该注解只能应用于方法上,@Retention(RetentionPolicy.RUNTIME)表示该注解在运行时仍然可用,@Documented表示该注解包含在JavaDoc中。
因此,使用@Target(ElementType.METHOD) @Retention(RetentionPolicy.RUNTIME) @Documented定义的注解可以应用于方法上,并且在运行时仍然可用,同时也会包含在JavaDoc中。