Предположим, у меня есть класс Java со статическим методом, например:
class A
{
static void foo()
{
// Which class invoked me?
}
}
И, кроме того, предположим, что класс A имеет произвольное количество подклассов:
class B extends A { }
class C extends A { }
class D extends A { }
...
Теперь рассмотрим следующие вызовы методов:
A.foo();
B.foo();
C.foo();
D.foo();
...
Мой вопрос: как метод foo()
может определить, какой класс его вызывает?