Hallo miteinander,
ich habe grade ein kleines Verständnisproblem bezgl. der Übersetzungszeit und der Laufzeit bei Java.
Man liest immer wieder, dass etwas zur Übersetzungszeit noch nicht bekannt ist. Zum Beispiel bei dynamischer Bindung.
Mal angenommen, ich schreibe in meinem Code:
Dann ist Object der statische Typ und JButton der dynamische Typ. Und man sagt, dass zur Übersetzungszeit nur der statische Typ bekannt ist. Aber warum ist das so?
Die Übersetzungszeit beginnt doch mit javac name.java? Dann steht doch zu diesem Zeitpunkt in meinem Code bereits JButton. Warum kennt der Compiler denn dann den dynamischen Typ erst zur Laufzeit?
Danke.
ich habe grade ein kleines Verständnisproblem bezgl. der Übersetzungszeit und der Laufzeit bei Java.
Man liest immer wieder, dass etwas zur Übersetzungszeit noch nicht bekannt ist. Zum Beispiel bei dynamischer Bindung.
Mal angenommen, ich schreibe in meinem Code:
Java:
Object a = new JButton("Button1");
Dann ist Object der statische Typ und JButton der dynamische Typ. Und man sagt, dass zur Übersetzungszeit nur der statische Typ bekannt ist. Aber warum ist das so?
Die Übersetzungszeit beginnt doch mit javac name.java? Dann steht doch zu diesem Zeitpunkt in meinem Code bereits JButton. Warum kennt der Compiler denn dann den dynamischen Typ erst zur Laufzeit?
Danke.