В чём разница между пользовательскими конструкторами и по-умолчанию?

Ребят, слышала о таких штуках как пользовательский конструктор и конструктор по-умолчанию. Подскажите пожалуйста, в чём принципиальная разница между ними, когда и как их стоит применять?

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

https://monosnap.com/file/1hlHr8gpUARvxqMK1vHMGghji7zAc7 - пример реализации конструкторов.

https://monosnap.com/file/KbXipXdftdE8XnQVYmfBm4MNBjn0rZ - вызов конструкторов.

Однако необходимо запомнить, что если Вы пишете пользовательский конструктор, то потом неявно вызвать конструктор по-умолчанию будет невозможно (!) и его тоже придётся реализовывать вручную.

Пользовательский конструктор позволяет нам сэкономить время на инициализацию полей экземпляров класса после его создания, с его помощью этот процесс происходит непосредственно во время создания экземпляра. Конструктор по-умолчанию же нам такой привилегии не даёт.