我们有自己注册'Handler'的子类,我们想通过Subclass.me()访问它们。在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.class显然不起作用,因为'this'不可用。
答案 0 :(得分:4)
静态方法属于该类。他们不能被覆盖。
MyClass.myStaticMethod()
是访问静态方法的唯一正确方法。
答案 1 :(得分:0)
在java中,您不能对非静态方法/变量进行静态引用。所以,
因为静态方法和变量属于Class而不属于Instance,而非静态方法和变量属于Instance而不属于Class。