Java:如何识别一个类是否调用了特定方法

标签 java reflection

是否可以使用反射来识别特定 java 类中的某些方法是否在构建时调用另一个方法?

假设我有

  • 声明 methodA1() 的 ClassA
  • 声明 methodB1()、methodB2()、methodB3() 的 ClassB

我想知道,在构建时,ClassB 的任何成员是否调用 methodA1()。这可能吗?

我现在使用的是 JDK8。

我很惊讶我找不到这个问题,这让我觉得这是非常天真的。

谢谢!

最佳答案

你可以使用

Thread.currentThread().getStackTrace()

也许这不是最好的方法,因为您必须深入研究返回的 StackTraceElement 数组。

关于Java:如何识别一个类是否调用了特定方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54640533/

相关文章:

java - 如何使用元素值获取xml元素?

java - 如何保留日期信息?

java - 如何使用 javafx 在应用程序启动时运行多个不同阶段之一?

c# - PropertyInfo.GetValue(myObject, null).GetType() 返回 "Object reference not set to an instance of an object."

c++ - 为什么这种替代失败发生在基于 SFINAE 的反射中?

java - Java中自动加载特定父类(super class)的子类的工厂类?

java - Vertx - 停止 verticle 实例

java - 使用 cn1 库刷新库时出错

java - 通过反射调用带有参数的方法

c# - 如何检查属性 setter 是否公开