Mam następujących klas (zauważ, że metody są statyczne):dostać rozmówcy nazwę klasy z odziedziczonej metody statycznej
class Base
{
public static void whosYourDaddy()
{
Class callerClass = // what should I write here to get caller class?
System.out.print(callerClass.getName());
}
}
Class A extends Base
{
public static void foo()
{
A.whosYourDaddy();
}
}
Class B extends Base
{
public static void bar()
{
B.whosYourDaddy();
}
}
I kiedy zadzwonić:
A.foo();
B.bar();
chciałbym uzyskać dane wyjściowe: AB
zamiast BaseBase
. Czy jest to nawet możliwe przy użyciu metod statycznych (w Javie 7)?
co pan wylądować na jako preferowane rozwiązanie? – cdaringe
@cdaringe Patrz zaakceptowana odpowiedź. –