Это не синхронизация, это {}
символы.Они определяют область действия, независимо от того, есть ли if
, for
, synchronized
или даже ничего в начале.Таким образом, a
выходит из области видимости после завершения блока, потому что он был объявлен внутри него.(Также в конце объявления Object a
есть пропущенная точка с запятой, но я подозреваю, что вы просто забыли скопировать это.)