Да какая разница-то? Ну, мутит там что-то компилятор, мало ли...
Надо знать следующее:
- Все статические значения инициализируются при первом упоминании класса в тексте.
- Все нестатические значения инициализируются в момент создания объекта класса.
- После всего вышеперечисленного вызываются конструкторы.
Допустим, Point - структура, Person - класс:
Если есть static, то при: и будут сгенерированы значения для всех static полей. А кем?
Остальные поля при создании экземпляра: как будет и кем происходить инициализация?
в случае с классом при создании все поля будут проинициализированы (кем?) и отработает нужный конструктор (который поменяет значения полей, если указано в его логике)
в случае со структурой все поля будут проинициализированы (кем? слышала, что конструктором по умолчанию?) и отработает логика нужного конструктора (который поменяет значения полей, если указано в его логике). Но если в структурах все поля изначально инициализируются конструктором по умолчанию, выходит, что конструктор по умолчанию сначала инициализирует все поля, а после уже выполняет логику нужного конструктора (себя или другого с параметрами), так?
Если есть ошибки в моем понимании, укажите в чем