Les lignes 5 et 6 sont instance initializer. Il est appelé lorsque la classe est instanciée. Comme il s'agit d'une énumération avec une constante nommée f
, elle va être instanciée une fois et le bloc d'initialisation de l'instance est exécuté.
Notez que z
est null
, mais out
est un membre statique de la classe System
, de sorte que vous pouvez appeler z.out.printf()
de toute façon. L'instruction printf
prend la chaîne s
en tant que chaîne de format avec deux arguments, 34
et s
lui-même.
34
est le code ASCII pour le guillemet double "
. Il est rempli pour les %c
et %1$c
dans la chaîne de format. Le %s
dans la chaîne de format est remplacé par la chaîne de format s
elle-même.
Intéressant, mais comment le laissez-vous fonctionner? EDIT: Le fichier doit être nommé 'f.java', donc vous le compilez avec' javac f.java' – mtsz
Oui. Vous le compilez avec 'javac f.java' et l'exécutez avec' java f'. Cela fonctionne avec jdk6, mais pas avec 7. –
Après avoir lu la description que vous avez posté, je l'ai fait fonctionner, merci néanmoins :) – mtsz