我是java中的注释新手,我希望在方法上有一个注释来为我做一些事情:
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD)
public @interface LogActivity {
String logMessage() default "default message";
}
我想在不同的类中使用一些方法,如:
public class A {
@LogActivity(logMessage = "called foo() in class A")
public void foo() {
// some code
}
}
和
public class B {
@LogActivity(logMessage = "called foo() in class B")
public void foo() {// some code}
@LogActivity(logMessage = "called foo1() in class B")
public void foo1() {// some code}
}
我需要一个方法来在屏幕上打印这些logMessages。 我只需要帮助编写一个方法,该方法将在调用这些foo和foo1之后执行,但是在执行开始之前。
Blockquote我需要在我的项目中的任意数量的类中使用此注释,所以我不喜欢这样做:
Method [] methods = Class.forName(theObject.getClass().getName()).getMethods();
和
LogActivity logActivity = methods[i].getAnnotation(LogActivity.class);
我搜索了一些东西,但并没有真正理解这个解决方案。
提前谢谢。