如何在 Java 静态方法中获取调用者类?

如何在 java 静态方法中获取调用者类?

如何在 java 静态方法中获取调用者类

java 静态方法没有参数,但可以通过获取堆栈信息来确定调用者类。

为了获取调用者类,可以使用以下方法:

  1. 获取当前线程的堆栈信息。
  2. 获取调用该方法的堆栈元素(通常是堆栈信息中的第三个元素)。
  3. 从堆栈元素中获取调用者的类名。
  4. 使用 class.forname() 加载该类,将其存储在 class> 变量中。

以下是一个示例代码:

public static void test() {
    StackTraceElement[] stackTrace = Thread.currentThread().getStackTrace();
    String className = stackTrace[2].getClassName();
    Class> clazz;
    try {
        clazz = Class.forName(className);
        System.out.println(clazz.getName());
    } catch (ClassNotFoundException e) {
        e.printStackTrace();
    }
}

此代码通过获取堆栈信息并分析其第三个元素来获取调用者类。然后,它使用 class.forname() 加载该类并打印其名称。

以上就是如何在 Java 静态方法中获取调用者类?的详细内容,更多请关注www.sxiaw.com其它相关文章!