gpt4 book ai didi

java - java中有没有办法识别调用特定方法的对象?

转载 作者:行者123 更新时间:2023-12-02 00:27:16 27 4
gpt4 key购买 nike

我需要能够识别正在调用特定方法的对象。例如,如果我有以下内容

    JLabel l = new JLabel("Hello");
JLabel label = new JLabel("HELLO");
label.setText("BYE");

我需要能够识别变量 label 中的对象实际上是调用 setText 而不是 l。我确实设法获取调用该方法的对象的类型,在本例中是 JLabel,因为我使用 SOOT 来获取方法信息。然而我真正需要的是使用这个方法的对象。

有没有办法能够识别调用该方法的实际对象?

最佳答案

是的,您可以通过反射找到谁在打电话。请参阅此堆栈溢出帖子:How do I find the caller of a method using stacktrace or reflection?有关如何执行此操作的更多信息。

但是,我担心您正在尝试以比实现您所追求的最终目标所需的方式更加困难的方式做某事。您能否将“this”作为参数传递给需要知道谁在调用的子方法?

关于java - java中有没有办法识别调用特定方法的对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9751883/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com