Moin,
Da das Javaforum.org seit einigen Tagen nicht merh erreichbar ist, möchte ich meine Frage
hier erläutern.
Wie die Überschrift schon sagt, geht es halt um Upcasting/Downcasting
Ich habe mir bereits viele Tutorials zu Typenumwandlung angesehen,
und finde, es ist bisher das aller schwierigste Thema für mich.
Einmal wird es in der Lern Java App kurz beschrieben, dann in mehreren
Tutorials im Internet/Youtube, auch auf anderen Seiten, doch keins von
den Tutorials konnte mir das Verständins dazu aneignen
Vielleicht frage ich erstmal nach den Sinn von Castings,
Also bei den Primitiven Datentypen wie Integer, Double, etc.
ist das eindeutig klar, was der Sinn dahinter ist, bei den anderen
Objekten verstehe ich das wiederum nicht.
Ein Beispiel:
|
Quellcode
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
class Tier{
}
class Vogel extends Tier{
}
class Main{
public static void main(String[] args){
//Was wird damit bezeugt? die Variable Tier zeigt auf die Klasse Tier, was hat das mit dem Objekt Vogel zu tun
//Evtl. liegt mein Problem bei der Syntax dieses Beispieles.
Tier tier = new Vogel();
//Ist das nicht das selbe wie:
Vogel vogel = new Vogel();
}
}
|
Dann gibt es noch downcasting:
|
Quellcode
|
1
2
3
4
5
|
Tier tier = new Tier();
//Was ist der Sinn dahinter?
((Vogel)tier).singen();
//Das selbe wäre ja:
tier.singen();
|
Und zu guter letzt verstehe ich dieses folgende Beispiel nicht:
|
Quellcode
|
1
2
3
4
|
protected void paint(Graphics g){
// bin mir nicht ganz sicher ob das mit dem casting so rum war
Graphics2D g2d = (Graphics2D) g;
}
|
Bitte hilft mir, danke