I think the statement is fine in that context. The paragraph is driving the point that a constructor does not necessarily have to initialize instance fields. Since, in general, a constructor is coded by the programmer, he/she can choose what to do in the body. The para also includes the statement, " The default constructor provided by the compiler also doesn’t assign any values to the instance members."
Understood. Very well done, as always. (It's merely a suggestion to bring perhaps a tiny bit more clarity/precision(?) for that specific statement, particularly for "newbies" that may have to reread it more holistically before comprehending that statement within it's larger point.) Thanks.
" if you write any constructor in a class yourself, the compiler will not provide the default constructor at all ". if there is no default constructor ,compiler will fail to compile . In that case how can we create constructors explicitly without causing compile errors?