Java 静态无参方法中如何获取调用类?

java 静态无参方法中如何获取调用类?

java 静态无参方法中获取调用类

java 中,实现在一个不带任何参数的静态方法中获取调用它的类的功能。

通过获取线程的堆栈信息,我们可以找到调用者的类信息:

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();
    }
}

在使用时,可以不传入任何参数直接调用该静态方法,该方法会通过堆栈信息获取并打印出调用它的类名。

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