次のクラスがあります(メソッドは静的であることに注意してください):
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();
}
}
そして、私が電話すると:
A.foo();
B.bar();
output:
AB
の代わりにBaseBase
. 静的メソッド(Java 7)でも可能ですか?