Ein kleines Beispiel:
Ich habe eine Klasse Tier und 2 Subklassen Hund, Katze, die von der Klasse Tier erben.
Oft sehe ich dann, dass ein neuer Hund oder Katze mit Tier angelegt wird. Also:
Tier tier1=new Hund(); Wieso nicht Hund tier1=new Hund()?
Anfangs dachte ich, es geht ums filtern. Wenn ich also eine ArrayList anlege und ich dann sowohl Katzen als auch Hunde aufnehmen kann mit Generic-Typ Tier. Habe ein wenig herumgespielt, solange ich bei Katze und Hund eine extends einfüge, kann ich die Subklassen auch so in mein ArrayList einfügen.
Beim durchiterieren wird dann auch die entsprechende methode lautGeben(); aufgerufen.
Ich habe eine Klasse Tier und 2 Subklassen Hund, Katze, die von der Klasse Tier erben.
Oft sehe ich dann, dass ein neuer Hund oder Katze mit Tier angelegt wird. Also:
Tier tier1=new Hund(); Wieso nicht Hund tier1=new Hund()?
Anfangs dachte ich, es geht ums filtern. Wenn ich also eine ArrayList anlege und ich dann sowohl Katzen als auch Hunde aufnehmen kann mit Generic-Typ Tier. Habe ein wenig herumgespielt, solange ich bei Katze und Hund eine extends einfüge, kann ich die Subklassen auch so in mein ArrayList einfügen.
Beim durchiterieren wird dann auch die entsprechende methode lautGeben(); aufgerufen.