我們有自我註冊'Handler'的子類,我們想通過Subclass.me()訪問它。在Java中可能類似於這種情況:?在靜態Java方法中訪問類
public class Handler{
static Vector<Handler> register=new Vector<Handler>();
public static Handler me() {
return register.get(this.class);// TODO
}
}
public class SubClass extends Handler{
SubClass(){register.add(this);}// OK
}
澄清問題:調用靜態Java方法時是否可以檢索CLASS?這個類明顯不起作用,因爲'this'不可用。
他們不需要被覆蓋,但第二部分回答了這個問題。 如果MyClass.myStaticMethod()是唯一正確的道路,如何來叫Subclass.myStaticMethod()甚至不給Eclipse的一個警告? – Anno2001 2012-03-10 13:31:24
@ Anno2001 Eclipse允許您選擇,如果你想要得到一個錯誤/警告或忽略一個靜態成員的非靜態訪問。 下看Eclipse首選項,爪哇 - >編譯器 - >錯誤/警告 - >代碼樣式 - >靜態成員的非靜態訪問。 – ddelver 2014-01-11 23:02:13