Ich gebe mal ein konkretes Beispiel: commons-collections4-4.4-sources
https://commons.apache.org/proper/commons-collections/download_collections
OrderedMap ist ein Interface, dass das Put und java.util.Map Interface erweitert.
Map: V put(K key, V value)
Put: Object put(K key, V value)
LinkedMap leitet sich von AbstractHashedMap ab, welches V put(K key, V value) implementiert.
Was passiert dadurch? AbstractHashedMap ueberschreibt (laut Eclipse) damit Map.put und nicht Put.put. Wie wird das von Eclipse entschieden? Oder ueberschreibt das put in AbstractHashedMap BEIDE put in den jeweiligen Interfaces?
Und warum ist dann das Interface Put ueberhaupt da?
https://commons.apache.org/proper/commons-collections/download_collections
Java:
OrderedMap<String, String> map = new LinkedMap<>();
map.put("FIVE", "5");
OrderedMap ist ein Interface, dass das Put und java.util.Map Interface erweitert.
Map: V put(K key, V value)
Put: Object put(K key, V value)
LinkedMap leitet sich von AbstractHashedMap ab, welches V put(K key, V value) implementiert.
Was passiert dadurch? AbstractHashedMap ueberschreibt (laut Eclipse) damit Map.put und nicht Put.put. Wie wird das von Eclipse entschieden? Oder ueberschreibt das put in AbstractHashedMap BEIDE put in den jeweiligen Interfaces?
Und warum ist dann das Interface Put ueberhaupt da?