Does a class constructor always need to have properties for the code to work?

No, constructors can also be emptyYes, otherwise the code won't run

Constructors can also be empty. They don't have to set any properties.