我和我的朋友想知道 JVM 内部的接口和纯抽象类之间是否真的存在区别,或者它是否只是真正的语法糖。
我真的不明白为什么会有差异,但它可能并不那么牵强。
就字节码而言(.class
file) 而言,它们是完全不同的:
From 4.1 类文件结构 http://java.sun.com/docs/books/jvms/second_edition/html/ClassFile.doc.html:
ClassFile {
//...
u2 constant_pool_count;
cp_info constant_pool[constant_pool_count-1];
//...
u2 super_class;
u2 interfaces_count;
u2 interfaces[interfaces_count];
}
显然,类可以有一个超类(abstract
或不)和多个实现的接口。这是 JVM 的限制,而不是 Java(语言)的限制。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)