Java: Constructor Chaining Exercise 1

Name _______________________________

The first line of every constructor must be either

If no constructor call is written as the first line of a constructor, the compiler automatically inserts a call to the parameterless superclass constructor.

Question

What is printed by this program?

// ConstructorChain.java -- Illustrates constructor chaining.
// Fred Swartz - 5 May 2003

///////////////////////////////////////////////// class ConstructorChain
class ConstructorChain {
    public static void main(String[] args) {
        Child c = new Child();
    }
}//end class ConstructorChain

//////////////////////////////////////////////////////////// class Child
class Child extends Parent {
    Child() {
        System.out.println("Child() constructor");
    }
}//end class Child

/////////////////////////////////////////////////////////// class Parent
class Parent extends Grandparent {
    Parent() {
        this(25);
        System.out.println("Parent() constructor");
    }
    
    Parent(int x) {
        System.out.println("Parent(" + x + ") constructor");
    }
}//end class Parent

////////////////////////////////////////////////////// class Grandparent
class Grandparent {
    Grandparent() {
        System.out.println("Grandparent() constructor");
    }
}//end class Grandparent

You can check your answer with Constructor Chaining Answer.