Looking for java Keywords? Try Ask4Keywords

Java Language Распечатать текущий класс вызывающего абонента


пример

Следующее выводит текущий класс вызывающего абонента. Обратите внимание, что в этом случае StackWalker необходимо создать с помощью опции RETAIN_CLASS_REFERENCE , чтобы экземпляры Class сохранялись в объектах StackFrame . В противном случае произойдет исключение.

public class StackWalkerExample {

    public static void main(String[] args) {
        FooHelper.foo();
    }

}

class FooHelper {
    protected static void foo() {
        BarHelper.bar();
    }
}

class BarHelper {
    protected static void bar() {
        System.out.println(StackWalker.getInstance(Option.RETAIN_CLASS_REFERENCE).getCallerClass());
    }
}

Выход:

class test.FooHelper