Abstrakte Klassen und Interfaces als Paramter in Funktionen

DennisXX

Bekanntes Mitglied
Warum kann man eigentlich keine Objekte vom Typ einer abstrakten Klassen oder eines Interfaces in einer Funktion als Übergabeparameter übergeben?

Beispiel:

Java:
public boolean testeFunktion(Abstrakteklasse ab, Interfaceimplementierung if) {};

In meinem Beispiel heißt die Abstrakte Klasse "Abstrakteklasse" und das Interface "Interfaceimplementierung"
 
Warum kann man eigentlich keine Objekte vom Typ einer abstrakten Klassen oder eines Interfaces in einer Funktion als Übergabeparameter übergeben?
Alle Instanzen von Klassen die von der abstrakten Klasse erben oder das Interface implementieren sind vom Typ der abstrakten Klasse bzw. des Interfaces und können somit der Methode übergeben werden.
 
Abtrakte Klassen und Interfaces sind sehr wohl als Funktionsparameter zulässig. Das einzige, was an deinem Beispielcode nicht korrekt ist, ist der Name der Variable "if" - Keywords sind als Variablennamen nicht zugelassen.
 

Zurück
Oben