调用类型变量的基静态方法和派生静态方法
我有以下示例:
class Ideone
{
    public static void main (String[] args) throws java.lang.Exception
    {
        A<ConcreteErrorHandler> a = new A<ConcreteErrorHandler>();
        a.m(); //Exception here!
    }
    public static class AbstractErrorHandler {
        public static void handle(){ 
            throw new UnsupportedOperationException("Not implemented");
        }
    }
    public static class ConcreteErrorHandler extends AbstractErrorHandler{
        public static void handle(){ 
            System.out.println("Concrete handler");
        }
    }
    public static class A<T extends AbstractErrorHandler>{
        public void m(){
            T.handle();
        }
    }
}
为什么调用基类的方法,而不是派生的方法?这些方法的签名是完全相同的。我知道静态方法不会继承,但是在我的情况下不应该抛出编译时错误吗?handle()
有人能解释这种行为吗?