Является Java статическим блоком, эквивалентным статическому конструктору C#?

Какова реальная разница между статическим конструктором C# и Java статический блок?

Они оба должны быть без параметров. Их оба называют только однажды, когда связанный класс сначала используется.

Я пропускаю что-то, или действительно ли они - то же самое, только с различными именами?

12
задан Mackenzie 17 March 2010 в 19:30
поделиться

2 ответа

Они эквивалентны, за исключением того, что класс C # может иметь только один статический конструктор (плюс инициализаторы статических полей).

Кроме того, в C # конструктор static применит флаг beforefieldinit .

9
ответ дан 2 December 2019 в 22:37
поделиться

Это не так.

В C# блоки могут содержать только конструкторы. В java вы можете выполнять операторы.

-2
ответ дан 2 December 2019 в 22:37
поделиться