Почему алмазный случай с общим предком используется для объяснения проблемы множественного наследования Java вместо двух не связанных родительских классов?

Этот вопрос может показаться странным для людей Java, но если вы попытаетесь объяснить это, было бы здорово.

В эти дни я проясняю некоторые из самых основных концепций Java. Итак, я перехожу к теме наследования и интерфейса Java.

Читая это, я обнаружил, что Java не поддерживает множественное наследование, а также понял, что я не могу понять, почему повсюду обсуждается проблема фигуры Diamond (по крайней мере, 4 класса для создания ромба), чтобы объяснить это поведение, не так ли? понять эту проблему, используя только 3 класса.

Скажем, у меня есть класс A и класс B, эти два класса различны (они не являются дочерними классами общего класса), но у них есть один общий метод, и они выглядят так:

class A {
    void add(int a, int b) {

    }
}

class B {
    void add(int a, int b) {

    }
}

Хорошо, теперь скажите, поддерживает ли Java множественное наследование и существует ли один класс, который является подклассом A и B, например:

class C extends A,B{ //If this was possible
    @Override
    void add(int a, int b) { 
        // TODO Auto-generated method stub
        super.add(a, b); //Which version of this, from A or B ?
    }
 }

тогда компилятор не сможет найти, какой метод вызывать из A или B, и поэтому Java не поддерживает множественное наследование. Так что-то не так с этой концепцией?

Когда я прочитал об этой теме, я смог понять проблему Diamond, но я не смог понять, почему люди не приводят пример с тремя классами (если это действительно один, потому что мы использовали только 3 класса, чтобы продемонстрировать проблему, поэтому ее легко понять, сравнив его с бриллиантовой проблемой.)

Дайте мне знать, не подходит ли этот пример для объяснения проблемы, или это также может быть использовано для понимания проблемы.

Редактировать: У меня есть одно близкое голосование здесь, заявляя, что вопрос не ясен. Вот главный вопрос:

Могу ли я понять, почему «Java не поддерживает множественное наследование» только с 3 классами, как описано выше, или мне нужно иметь 4 класса (структура Diamond), чтобы понять проблему.

Ответы на вопрос(6)

Ваш ответ на вопрос