C 和Java中的空派生类的大小是多少

What is the size of empty derived class in c++ and java?

本文关键字:多少 Java 派生      更新时间:2023-10-16

我得到了一些相关的答案,例如为什么从两个空类派生的空类的大小为2?但不能清楚地得到我的问题的答案。

interface PI1
{
    default void show()
    {
        System.out.println("Default PI1");
    }
}
interface PI2
{
    default void show()
    {
        System.out.println("Default PI2");
    }
}
class TestClass implements PI1, PI2
{
    public void show()
    {
        PI1.super.show();
        PI2.super.show();
    }
    public static void main(String args[])
    {
        TestClass d = new TestClass();
        d.show();
    }
}

此Java程序是否显示多个继承?

在C 中最小尺寸为1。

但是,另一个问题是关于同一类型的基本类的多个继承。同一类型的两个对象不能具有相同的地址,因为它们不会不同的对象。

地址是对象身份的重要组成部分。

因此,如果您有两个相同类型的对象,则最小尺寸为2。

这在Java中都没有发生,因为没有多个继承。