ama*_*ish 3 java static-methods static-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();
}
}
Run Code Online (Sandbox Code Playgroud)
为什么我的子类静态块可以调用没有引用或类名的父类静态方法?
静态方法n()由子类继承myclass,因此可以直接在静态块中调用它myclass.
| 归档时间: |
|
| 查看次数: |
134 次 |
| 最近记录: |