wenn man bei der Objekterzeugung zur Compilezeit immer noch konkret
wissen muss, was für ein Typ eines Objekts erzeugt werden soll.
Mal angenommen mein interface heißt Fisch und die Klasse, die das
interface implementieren soll, die heißt Hai, dann muss ich bei der
Objekterzeugung meiner Klasse Hauptprogramm ja immer noch sagen, was
für ein Objekt vom Typ interface sie erzeugen soll.
Also z.b. in main() von Hauptprogramm:
1 | public static void main(String[] args) {
|
2 | // geht
|
3 | Fisch fish = Hai();
|
4 |
|
5 | // geht nicht:
|
6 | Fisch fish = Fisch();
|
7 | ...
|
Entkoppelt sind da ja nur die Methoden und Attribute, falls es welche
über das Interface gibt und wenn ich auf die dann von Hauptprogramm aus
zugreife, aber nicht der Name der Klasse die das Interface
implementiert.