Can a default constructor be empty?

Providing an empty default constructor( private ) is necessary in those cases when you don’t want an object of the class in the whole program . For e.g. the class given below will have a compiler generated default empty constructor as a public member . As a result, you can make an object of such a class.

Read more

Why do we need no-arg constructor?

The arguments of a constructor can only be found by type, not by name, so there is no way for the framework to reliably match properties to constructor args . Therefore, they require a no-arg constructor to create the object, then can use the setter methods to initialise the data.

Read more