Step by step, we break down how Java initializes an object: default field values, explicit initialization, instance initialization blocks, and the final constructor call via
new. Using the
Person class as an example, we will see the actual print order, a table of default values, a flowchart, and typical mistakes (duplicating logic, expectations around
static, working with
null, calling a constructor via
this(...)).