The Java compiler automatically provides a default, no-argument constructor only if no other constructors are explicitly defined in the class. If you write any constructor yourself, whether it has parameters or not, the compiler will not generate the default constructor.