Constructor are called at the moment of instantiation. Used to put the new instance of the class into valid state.
public class Foo{ public Foo{ ................ } }
Whether you define or not, there is a default constructor. You can override the default (no input parameters) or overload the constructor to allow the user to set the new instance to a valid state.