In short, no.
However, you can call a constructor in many various ways. It may be a "default" constructor, or a constructor that is not actually expressed in your code, or a constructor that is internal when doing other items, like deserializing.
A constructor returns a reference, and that consists of a few important internal steps.
- The JVM needs to allocate memory on the heap to hold the member data of the Class (and references to supporting items).
- The address of that internal JVM data structure is given a type-safe reference.
- The appropriate
<init>(...)
method is called (From the programming side of things, this is what people think of as a Constructor Method, typcially written public Object(...) { ... }
).
- The reference is returned to the execution context.
So construction is more than just the code you call, it is the implementation of Object creation. You can avoid supplying init
methods by various means, but the internal operations required for construction aren't really skippable. If they were, then you would lack the object reference.