Consider the code below
class Meal {
Meal() { System.out.println(\"Meal()\"); }
}
class Bread {
Bread() { System.out.println(\"Bread()\"); }
The first call in a constructor is always the super(...). This call is automatically inserted by the compiler if you don't write it down explicitly. No calls on the constructed object can happen before the call to super() returned. After super() finished, the fields are initialized in the order of appearance and then the rest of the constructor is executed.