从方法java中访问引用变量

时间:2017-11-29 14:06:16

标签: java methods constructor reference

我希望在程序中添加一个函数,我使用静态变量来创建驱动程序使用名称的所有时间的列表。我需要知道的是,在java中,是否有一种方法可以访问引用变量(作为字符串)将其添加到列表中? 伪代码:

300 300

getReferenceVariable是我要问的是否有人知道如何做到这一点

1 个答案:

答案 0 :(得分:0)

如果我理解正确,你想保留一个列表,列出构造函数被调用的所有时间,并保存当前正在创建的变量的名称?因为"参考变量"使用构造函数时为none,因为您使用new MyClass()调用构造函数,而不是obj.MyClass()

但是,如果你只是想知道是谁打电话给你(作为堆栈跟踪),你可以简单地按照in this thread编写(没有双关语),使用 Thread.currentThread().getStackTrace(),然后选择所需的堆栈帧(可能是2,因为数组中的第一个元素(索引0)是java.lang.Thread.getStackTrace方法,第二个(索引1)是构造函数,并且2是从中调用构造函数的位置,您可以在其中获取(例如)此堆栈跟踪对应的源文件的名称。 getFileName()

的文档

由于我还没有尝试过(目前不可能),我谨慎地为您提供代码:

public class MyClass(){
    MyClass(){
        callerName = Thread.currentThread().getStackTrace()[2].getFileName();
        ... // anything here
    }
}