为什么接口中没有静态方法,但静态字段和内部类OK?[Java8之前]
这里有一些问题是关于为什么不能在接口中定义静态方法,但没有一个解决基本的不一致:为什么可以在接口中定义静态字段和静态内部类型,而不是静态方法?
静态内部类型可能不是一个公平的比较,因为这只是生成新类的语法糖,但为什么是字段而不是方法呢?
反对接口内静态方法的一个论点是,它破坏了JVM使用的虚拟表解析策略,但这难道不应该同样适用于静态字段,即编译器可以内联它吗?
一致性是我想要的,Java应该要么不支持接口中任何形式的静态,要么应该是一致的并允许它们。