@artempawww

Как можно реализовать получение имя вызывающего класса?

Допустим, есть два класса:
class A {
    public A() {
        ...
    }
}

class B {
    public B() {
        ...
    }
}


Нужно вывести имя класса, который вызывает конструктор A:
class B {
    public B() {
        new A();
    }
}


на выходе нужно получить B, но метод getClass(), вызванный в конструкторе A:
public A() {
        System.out.print(getClass());
    }


возвращает класс A.
  • Вопрос задан
  • 74 просмотра
Решения вопроса 2
mayton2019
@mayton2019 Куратор тега Java
Bigdata Engineer
Посмотри что вернет

Thread.currentThread().getStackTrace()

но не увлекайся и не используй в проде никогда. А то будешь бит коллегами и притом с понижением в звании.
Ответ написан
xez
@xez Куратор тега Java
TL Junior Roo
Почему бы в конструктор не передать нужную вам информацию чтобы сохранить ее в локальную переменную и отдать по первому требованию?
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы