Warum wird der Diamond-Fall mit seinem gemeinsamen Vorfahren verwendet, um das Problem der mehrfachen Vererbung von Java anstelle von zwei nicht verwandten Elternklassen zu erklären?

Diese Frage mag für Java-Leute seltsam klingen, aber wenn Sie versuchen, dies zu erklären, wäre es großartig.

n diesen Tagen lösche ich einige von Javas sehr grundlegenden Konzepten. Also komme ich zum Thema Vererbung und Schnittstelle von Java.

Während ich dies las, stellte ich fest, dass Java Multiple Inheritance nicht unterstützt und verstand auch, dass, was ich nicht verstehen kann, warum überall Diamond Figure Issue (mindestens 4 Klassen zum Erstellen von Diamanten) besprochen wird, um dieses Verhalten zu erklären, Can't Wir verstehen dieses Problem nur mit 3 Klassen.

Sag, ich habe Klasse A und Klasse B, diese beiden Klassen sind unterschiedlich (sie sind keine untergeordnete Klasse einer gemeinsamen Klasse), aber sie haben eine gemeinsame Methode und sie sehen so aus: -

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

    }
}

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

    }
}

Ok, Sagen Sie nun, ob Java die Mehrfachvererbung unterstützt und ob es eine Klasse gibt, die die Unterklasse von A und B wie folgt ist: -

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 ?
    }
 }

then Compiler wird nicht in der Lage sein, die aufzurufende Methode von A oder B zu finden, weshalb Java Multiple Inheritance nicht unterstützt. Stimmt etwas mit diesem Konzept nicht?

Wenn ich über dieses Thema gelesen habe, konnte ich das Diamond-Problem verstehen, aber ich kann nicht verstehen, warum die Leute kein Beispiel mit drei Klassen angeben (Wenn dies eine gültige ist, weil wir nur drei Klassen verwendet haben, um das Problem zu demonstrieren, ist es einfach durch den Vergleich mit Diamond Problem zu verstehen.)

Lassen Sie mich wissen, ob dieses Beispiel nicht zur Erklärung des Problems geeignet ist oder ob dies auch zum Verständnis des Problems herangezogen werden kann.

Bearbeiten Ich habe hier eine enge Abstimmung, die besagt, dass diese Frage nicht klar ist. Hier ist die Hauptfrage: -

Kann ich verstehen, warum "Java Multiple Inheritance nicht unterstützt" mit 3 Klassen, nur wie oben beschrieben, oder ich muss 4 Klassen (Diamond-Struktur) haben, um das Problem zu verstehen.