假设我有一个简单的类(class):
public class TestClass {
/*...*/
}
我创建了一个向此类注入(inject)新方法的方面:
public aspect TestAspect {
public void TestClass.aspectMethod() {
/*...*/
}
}
现在,如何检查 TestClass
是否具有 TestAspect
在运行时添加的方法?
最佳答案
最简单的方法就是简单地反射(reflection)类:
TestClass.class.getDeclaredMethod("aspectMethod")
如果它不存在,将会抛出NoSuchMethodException。或者,如果您有字节,则可以使用字节代码访问者来检查字节代码中存在哪些方法 - 但反射路由不会那么困惑。
关于java - 如何检查类是否有方面添加的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24695029/