如何在 java 静态方法中获取调用者类
java 静态方法没有参数,但可以通过获取堆栈信息来确定调用者类。
为了获取调用者类,可以使用以下方法:
- 获取当前线程的堆栈信息。
- 获取调用该方法的堆栈元素(通常是堆栈信息中的第三个元素)。
- 从堆栈元素中获取调用者的类名。
- 使用
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() 加载该类并打印其名称。









