1
假設我有一個功能的基類包含靜態初始化器調用foo
識別子類調用基類的靜態函數
public class Child extends Base
{
static
{
foo();
}
}
foo
public class Base
{
protected static void foo()
{
// ToDo - what is the name of the child class calling me?
}
}
和至少一個子類
foo()
是否有方法知道哪個子類調用了它?我假設有一種我可以使用的反射技術。
這與識別foo調用類相同() – Franzl
您正在查找的技術在[這裏](http://stackoverflow.com/q/421280/1225328)(即查找調用者) 。那就是說,你爲什麼需要知道呼叫者?如果是出於記錄目的,我確信這實際上是最好的解決方案。 – sp00m
@ sp00m建議的堆棧跟蹤解決方案肯定是要走的路,但是如果真的,真的需要知道在'foo'中,也許應該將調用類或對象作爲參數傳遞給方法。 –