gpt4 book ai didi

java - JVM实现接口(interface)和纯抽象类的区别?

转载 作者:搜寻专家 更新时间:2023-11-01 01:46:16 25 4
gpt4 key购买 nike

我和我的 friend 想知道在 JVM 内部接口(interface)和纯抽象类之间是否真的存在差异,或者它是否真的只是语法糖。

我真的不明白为什么会有差异,但它可能不是那么牵强。

最佳答案

就字节码(.class文件)而言,它们是完全不同的:

来自 4.1 The ClassFile Structure :

ClassFile {
//...
u2 constant_pool_count;
cp_info constant_pool[constant_pool_count-1];
//...
u2 super_class;
u2 interfaces_count;
u2 interfaces[interfaces_count];
}

很明显,类可以有一个父类(super class)(abstract 或不是)和多个已实现的接口(interface)。这是 JVM 的限制,而不是 Java(语言)的限制。

关于java - JVM实现接口(interface)和纯抽象类的区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9384441/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com