Warum Code im statischen Block nicht ausgeführt wird?

8

Hier habe ich ein Programm gemacht, wenn ich den constant in main static Block nicht ausführt .. aber wenn ich stat ausführe, was ausgeführt wird, ist es wichtig für static final in java ..? Bitte erklären Sie

%Vor%     
jenuine 08.08.2012, 11:45
quelle

2 Antworten

10
___ qstnhdr ___ Warum Code im statischen Block nicht ausgeführt wird? ___ tag123java ___ Java (nicht zu verwechseln mit JavaScript oder JScript oder JS) ist eine universelle objektorientierte Programmiersprache, die für die Verwendung in Verbindung mit der Java Virtual Machine (JVM) entwickelt wurde. "Java-Plattform" ist der Name für ein Computersystem, auf dem Tools zum Entwickeln und Ausführen von Java-Programmen installiert sind. Verwenden Sie dieses Tag für Fragen, die sich auf die Java-Programmiersprache oder Java-Plattform-Tools beziehen. ___ answer11863822 ___

Ihr Code initialisiert nicht die Klasse static final int , gerade weil Doubt eine Konstante ist. Sein Wert wird zur Kompilierungszeit in %code% eingefügt - Sie könnten sogar %code% nach der Kompilierung löschen und Ihr Programm würde immer noch laufen.

Ausführen

%Vor%

Sehen Sie sich genau an, wie Ihr Code nach der Kompilierung aussieht.

Siehe Abschnitt 15.28 der JLS für was einen konstanten Ausdruck ausmacht. Zum Beispiel wäre dies immer noch eine Konstante:

%Vor%

und so alle von diesen:

%Vor%

... aber das wäre nicht

%Vor%     
___ qstntxt ___

Hier habe ich ein Programm gemacht, wenn ich den %code% in %code% %code% Block nicht ausführt .. aber wenn ich %code% ausführe, was ausgeführt wird, ist es wichtig für %code% in java ..? Bitte erklären Sie

%Vor%     
___
Brian Agnew 08.08.2012, 11:48
quelle
20

Ihr Code initialisiert nicht die Klasse Doubt , gerade weil Doubt.constant eine Konstante ist. Sein Wert wird zur Kompilierungszeit in MyProgram eingefügt - Sie könnten sogar Doubt.class nach der Kompilierung löschen und Ihr Programm würde immer noch laufen.

Ausführen

%Vor%

Sehen Sie sich genau an, wie Ihr Code nach der Kompilierung aussieht.

Siehe Abschnitt 15.28 der JLS für was einen konstanten Ausdruck ausmacht. Zum Beispiel wäre dies immer noch eine Konstante:

%Vor%

und so alle von diesen:

%Vor%

... aber das wäre nicht

%Vor%     
Jon Skeet 08.08.2012 11:47
quelle

Tags und Links