我们有自我注册'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