Ответ 1
Строки 5 и 6 являются инициализатором экземпляра. Он вызывается, когда экземпляр класса создается. Поскольку это перечисление с одной константой с именем f
, оно будет создаваться один раз и выполняется блок инициализатора экземпляра.
Обратите внимание, что z
есть null
, но out
является статическим членом класса System
, поэтому вы можете называть z.out.printf()
в любом случае. Оператор printf
принимает строку s
как строку формата с двумя аргументами: 34
и s
.
34
- это код ASCII для двойной кавычки "
. Он заполняется для %c
и %1$c
в строке формата. %s
в строке формата заменяется самой строкой формата s
.