<分区>
据我了解,通常应该使用类的引用调用静态方法,或者如果它在静态方法或静态 block 中,则可以直接调用而无需引用。
但是当从子类静态 block 调用静态方法时,这是否适用?
为什么它允许这样的事情,因为静态方法不是继承的,它应该只允许使用父类名称吗?
public abstract class abs {
/**
* @param args
*/
abstract void m();
static void n(){
System.out.println("satic method");
}
public static void main(String[] args) {
// TODO Auto-generated method stub
}
}
class myclass extends abs{
@Override
void m() {
// TODO Auto-generated method stub
}
static{
n();
}
}
为什么我的子类静态 block 可以在没有引用或类名的情况下调用父类静态方法?