Ich habe folgende Klassen (beachten Sie, dass Methoden sind statisch):Anrufer Klassenname von vererbten statische Methode erhalten
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();
}
}
Und wenn ich rufe:
A.foo();
B.bar();
I Ausgabe erhalten möchten: AB
anstelle von BaseBase
. Ist es sogar mit statischen Methoden (in Java 7) möglich?
hilft, was Sie als die bevorzugte Lösung landen haben? – cdaringe
@cdaringe Siehe akzeptierte Antwort. –