Как уже говорилось ранее конструктор это метод, вызывающийся для создания экземпляра объекта, не содержит возвращаемого значения. Его можно использовать только с оператором new, он также может быть без аргументов (конструктор по умолчанию или дефолтный) или с ними, также конструктор нельзя передать ни в один метод, но вам стоит почитать про this и base, они часто применяются к конструкторам, если есть перегрузка или наследование. Но также он делится на два типа статический (не используется для создания, а лишь к нему подготавливает - т.е. устанавливает значения свойств, переменных, которые вы либо явно указали, либо их значения по умолчанию) - он не может иметь аргументов, а значит и перегрузок, а также методов доступа (указывается без него), вызывается в неявном виде перед любым другим конструктором объекта и нестатический - тот, что указывается в new с аргументами или без, а также с методами доступа. Конструктор без аргументов может быть использован в ограничениях, потому его отделяют в понятиях. Это бывает важным например для создания окон и любых форм.