java 如何在多个方法上写注释并能被另一个方法获取到
时间: 2024-02-02 20:03:07 浏览: 31
如果你想在多个方法上写注释并能够被另一个方法获取到,你可以按照以下步骤进行操作:
1. 定义一个自定义注解(Annotation):
```java
import java.lang.annotation.*;
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD)
public @interface MethodInfo {
String author() default "";
String date();
int version() default 1;
}
```
2. 在你想要添加注释的方法上使用这个注解:
```java
public class MyClass {
@MethodInfo(author = "John", date = "2022-01-01", version = 2)
public void method1() {
// 方法1的实现
}
@MethodInfo(author = "Jane", date = "2022-02-01", version = 3)
public void method2() {
// 方法2的实现
}
}
```
3. 在另一个方法中使用反射获取这些注解的值:
```java
import java.lang.reflect.Method;
public class AnotherClass {
public static void main(String[] args) {
MyClass obj = new MyClass();
Method[] methods = obj.getClass().getDeclaredMethods();
for (Method method : methods) {
if (method.isAnnotationPresent(MethodInfo.class)) {
MethodInfo methodInfo = method.getAnnotation(MethodInfo.class);
System.out.println("Method: " + method.getName());
System.out.println("Author: " + methodInfo.author());
System.out.println("Date: " + methodInfo.date());
System.out.println("Version: " + methodInfo.version());
System.out.println();
}
}
}
}
```
运行以上代码,你将能够获取到所有带有 `@MethodInfo` 注解的方法的注解信息。在 `AnotherClass` 类的 `main` 方法中,我们使用反射获取 `MyClass` 类中的所有方法,然后检查每个方法是否带有 `@MethodInfo` 注解,如果有,则获取注解的值并打印出来。
这样,你就可以在多个方法上写注释,并能够在另一个方法中获取到这些注解的值了。