Java abstrakte Klasse eine Schnittstelle implementiert, beide haben die gleiche Methode

Während der Blick auf einige OOP-Materialien, dachte ich, von dieser Frage verwirrt mich ein wenig:

Sollten Sie mit dem folgenden interface,abstrakte Klasse und konkrete Klasse:

package one;

public interface A {

    void doStuff();
}

package one;


public abstract class B implements A {

    public abstract void doStuff();


}

class C extends B{


    public void doStuff() {

    }
 }

Klasse C nicht kompilieren, es sei denn, es stellt eine Implementierung für die Methode doStuff().
Die Frage ist hier:

1-Ist doStuff() Methode in der Klasse C eine Implementierung der Schnittstelle Eine's Methode, oder ist es für die abstrakte Methode in der Klasse B ? um genauer zu sein: Wie wird die JVM
Behandlung der Funktion, da eine Funktion aufgerufen, der das interface oder die abstrakte Klasse ?

2-Ist die abstrakte Methode doStuff() in der abstrakten Klasse B als eine "Umsetzung" für die doStuff() Methode im interface Eine? so macht es verpflichtend für Klasse C zu implementieren Sie die abstrakte Klasse version von doStuff() statt dem interface ?

InformationsquelleAutor a.u.r | 2013-03-04
Schreibe einen Kommentar