国外牛人就是多啊! 来自http://stackoverflow.com/questions/7202616/java-abstract-interface
在JDK源码中,或许会碰到类似这样接口的声明:
在JDK源码中,或许会碰到类似这样接口的声明:
1.上例中的两个 abstract 关键字的使用都不是必须的,可以省去;
2.该接口中的方法都必须被具体的方法实现,该接口不能被 extends;
3.每个接口在声明时,隐性得,都是abstract,只是在编码中省略了;
代码:
interface AAA{
void dd();
}
bytecode:
abstract interface AAA {
public abstract dd()V
}
——如果abstract可以被省去,为什么它又被包含在源码中?
—— (在这里只能提供线索,不能解答) 在Oak 0.2 Specification 中
在空白处有说明:“=0”的部分或许会被省略 弃用