Unterstützt Java Mehrfachvererbung Warum oder warum nicht?
Unterstützt Java Mehrfachvererbung Warum oder warum nicht?

Video: Unterstützt Java Mehrfachvererbung Warum oder warum nicht?

Video: Unterstützt Java Mehrfachvererbung Warum oder warum nicht?
Video: Mehrfachvererbung mit Java 2024, April
Anonim

Java unterstützt keine Mehrfachvererbung durch Klassen, aber durch die Schnittstellen, die wir verwenden können mehrere Erbschaften . Kein Java nicht Unterstützung der Mehrfachvererbung direkt, weil es zum Überschreiben von Methoden führt, wenn beide erweiterten Klassen denselben Methodennamen haben.

Ist daher Mehrfachvererbung in Java erlaubt?

C++, Common Lisp und einige andere Sprachen werden unterstützt Mehrfachvererbung während Java unterstützt es nicht. Java nicht Mehrfachvererbung zulassen um die dadurch verursachte Mehrdeutigkeit zu vermeiden. Ein Beispiel für ein solches Problem ist das Diamantproblem, das in auftritt Mehrfachvererbung.

Wissen Sie auch, warum Mehrfachvererbung schlecht ist? Die Gefahr mit Mehrfachvererbung ist Komplexität. Da könntest du beeinflussen mehrere Module in Ihrer App aus denselben übergeordneten Klassen verwenden, ist es nicht so einfach, über Codeänderungen nachzudenken. Jeder Fehler kann eine Kettenreaktion von Fehlern verursachen. Das ist wo Mehrfachvererbung produktiv werden kann.

Wissen Sie auch, welche Vererbung von Java nicht unterstützt wird Warum?

In Java kann dies nie passieren, da es keine gibt Mehrfachvererbung . Auch wenn hier zwei Interfaces dieselbe Methode haben, hat die implementierende Klasse nur eine Methode, und auch das wird vom Implementierer erledigt. Dynamisches Laden von Klassen macht die Implementierung von Mehrfachvererbung schwierig.

Warum wird die Mehrfachvererbung in der Schnittstelle verwendet?

Wie wir im. erklärt haben Nachlass Kapitel, Mehrfachvererbung ist nicht unterstützt im Fall der Klasse wegen der Mehrdeutigkeit. Wie auch immer es ist unterstützt im Falle eines Schnittstelle weil es keine Zweideutigkeit gibt. Dies liegt daran, dass seine Implementierung von der Implementierungsklasse bereitgestellt wird. Schnittstelle Vorzeigbar{

Empfohlen: