Код в скобках - это инициализатор экземпляра .
С Спецификация языка Java, третье издание , Раздел 8.6 :
Инициализатор экземпляра, объявленный в
класс выполняется, когда экземпляр
класс создан (§15.9), как
указано в §8.8.5.1.
Если класс Name
выполняется, метод public static void main(String[])
вызывается виртуальной машиной Java, но класс Name
не создается, поэтому код в инициализаторе экземпляра никогда не будет выполнен.
Существует также статический инициализатор , который по внешнему виду аналогичен инициализатору экземпляра, но имеет ключевое слово static
впереди:
static {
// Executed when a class is first accessed.
}
Опять же, с Спецификация языка Java, третье издание , Раздел 8.7 :
Любые статические инициализаторы, объявленные в
класс выполняется, когда класс
инициализирован и вместе с любым
инициализаторы поля (§8.3.2) для класса
переменные, могут быть использованы для инициализации
переменные класса
(§12.4).
Страница Инициализирующие поля из Учебные руководства по Java также содержат информацию о статических и экземплярах инициализирующих блоков.