Hallo,
ich finde immer wieder Beispiele bei Deklarationen wie dieses:
Code:
Collection<String> strings = new LinkedList<String>();
Was ist der tiefere Sinn darin, strings als Oberklasse zu definieren? LinkedList<String> ist ja eine Unterklasse zu Collection <Strings>. D.h auch, dass ich z.B. in Methoden überall wo eine Collection<String> erwartet wird, auch jede Unterklasse angeben kann. Warum deklariert man dann nicht:
Code:
LinkedList<String> strings = new LinkedList<String>();
Welchen Vorteil hat die obere Version?