Constructor chaining is the sequence of constructor calls that happens when you create an object from a class hierarchy. Each constructor calls its parent's constructor before running its own body.
If you have classes in a chain:
class A {
A() { System.out.println("A"); }
}
class B extends A {
B() { System.out.println("B"); }
}
class C extends B {
C() { System.out.println("C"); }
}
Creating new C() prints A, then B, then C. The topmost parent always initializes first. This guarantees that when B's constructor runs, A's fields are already set up. When C's constructor runs, both A and B are ready.
If any constructor in the chain fails, the entire object creation fails.