Hallo
Ich habe ein Problem oder eine Frage, welche aus einem Android Projekt stammt, jedoch nichts mit Android, sondern mit Java an sich zu tun hat. Meine Frage ist, warum ich per Casten nicht direkt auf die Sub-Klasse zugreifen kann. Hier das Beispiel:
Painter ist die Subclass von View, mit findViewById() kann man eine View bekommen. Da ich weiß, dass meine View ein Painter Objekt ist habe ich das so gecastet. .getPath gibt es nur bei Painter, was auch der Grund dafür ist warum ich überhaupt Casten muss. Leider funktioniert dieser Code nicht; es wird ein Fehler angezeigt. Wenn ich das aber so Schreibe dann geht es.
Ich frage mich aber warum das so ist. Im Grunde ist das doch das gleiche, oder habe ich einfach einen dummen Fehler gemacht?
Vielen Dank
Ich habe ein Problem oder eine Frage, welche aus einem Android Projekt stammt, jedoch nichts mit Android, sondern mit Java an sich zu tun hat. Meine Frage ist, warum ich per Casten nicht direkt auf die Sub-Klasse zugreifen kann. Hier das Beispiel:
Code:
(Painter) findViewById(R.id.painter).getPath;
Painter ist die Subclass von View, mit findViewById() kann man eine View bekommen. Da ich weiß, dass meine View ein Painter Objekt ist habe ich das so gecastet. .getPath gibt es nur bei Painter, was auch der Grund dafür ist warum ich überhaupt Casten muss. Leider funktioniert dieser Code nicht; es wird ein Fehler angezeigt. Wenn ich das aber so Schreibe dann geht es.
Code:
Painter painter = (Painter) findViewById(R.id.painter);
painter.getPath();
Ich frage mich aber warum das so ist. Im Grunde ist das doch das gleiche, oder habe ich einfach einen dummen Fehler gemacht?
Vielen Dank