@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.
  • Вопрос задан
  • 73 просмотра
Решения вопроса 2
@mayton2019
Bigdata Engineer
Посмотри что вернет

Thread.currentThread().getStackTrace()

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

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

Войти через центр авторизации
Похожие вопросы
Sportmaster Lab Волгоград
от 200 000 до 350 000 ₽
Sportmaster Lab Санкт-Петербург
от 200 000 до 400 000 ₽
03 окт. 2022, в 13:17
13000 руб./за проект
03 окт. 2022, в 13:17
30000 руб./за проект
03 окт. 2022, в 13:04
8000 руб./за проект